[SQL实战]之从titles表获取按照title进行分组

版权声明:所有的博客都是个人笔记,交流可以留言。未经允许,谢绝转载。。。 https://blog.csdn.net/qq_35976351/article/details/88726361

题目描述

从titles表获取按照title进行分组,每组个数大于等于2,给出title以及对应的数目t。
注意对于重复的emp_no进行忽略。
CREATE TABLE IF NOT EXISTS “titles” (
emp_no int(11) NOT NULL,
title varchar(50) NOT NULL,
from_date date NOT NULL,
to_date date DEFAULT NULL);

解题思路

问题的难点与核心在于忽略重复的emp_no。可以这么理解,先对title分组处理,得到了分组后一个聚集,然后对分组后的titleemp_no进行去重,然后再计数。因为分组后,所有的聚集函数都是处理每个组的。

AC代码

SELECT title, COUNT(DISTINCT(emp_no)) AS t FROM titles GROUP BY title HAVING t >= 2 

猜你喜欢

转载自blog.csdn.net/qq_35976351/article/details/88726361
今日推荐