从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);
此题应注意以下三点:
1、先用GROUP BY title将表格以title分组,再用COUNT(DISTINCT emp_no)可以统计同一title值且不包含重复emp_no值的记录条数
2、根据题意,输出每个title的个数为t,故用AS语句将COUNT(DISTINCT emp_no)的值转换为t
3、由于WHERE后不可跟COUNT()函数,故用HAVING语句来限定t>=2的条件
| 1 2 |
|
本文深入探讨了使用SQL语言处理重复员工编号(emp_no)时的高级技巧,通过具体案例讲解了如何利用GROUP BY和COUNT(DISTINCT)函数组合,筛选出出现次数大于等于两次的职位(title),并展示了完整的SQL语句实现过程。
402

被折叠的 条评论
为什么被折叠?



