牛客SQL题解 - 从titles表获取按照title进行分组,注意对于重复的emp_no进行忽略。

题目描述

从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);

输出描述

title t
Assistant Engineer 2
Engineer 3
省略 省略
Staff 3

试题详解

在select语句中采用count聚合函数语句并结合distinct去重,之后通过having语句对聚合函数结果筛选(不能用where)。代码如下:

SELECT title,COUNT(DISTINCT emp_no) AS t
FROM titles
GROUP BY title
HAVING t >= 2;
发布了166 篇原创文章 · 获赞 186 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_36936730/article/details/105200777