天天育儿网,内容丰富有趣,生活中的好帮手!
天天育儿网 > 牛客网数据库SQL实战14—— 从titles表获取按照title进行分组 注意对于重复的emp_no进行忽略。

牛客网数据库SQL实战14—— 从titles表获取按照title进行分组 注意对于重复的emp_no进行忽略。

时间:2018-06-13 05:48:48

相关推荐

牛客网数据库SQL实战14—— 从titles表获取按照title进行分组 注意对于重复的emp_no进行忽略。

牛客网数据库SQL实战14—— 从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);

输入描述:

输出描述:

我的解答

select title,count(*) as tfrom(select title,emp_no,count(*)from titlesgroup by title,emp_no)group by titlehaving count(*) >= 2

题目没有说清楚,想表达的意思是每个title下,emp_no重复的员工忽略不计。

先通过子查询,去除重复emp_no,再用上题一样的方法求值

我觉得最好的答案

此题应注意以下三点:

先用GROUP BY title将表格以title分组,再用COUNT(DISTINCT emp_no)可以统计同一title值且不包含重复emp_no值的记录条数根据题意,输出每个title的个数为t,故用AS语句将COUNT(DISTINCT emp_no)的值转换为t由于WHERE后不可跟COUNT()函数,故用HAVING语句来限定t>=2的条件

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

如果觉得《牛客网数据库SQL实战14—— 从titles表获取按照title进行分组 注意对于重复的emp_no进行忽略。》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。