天天育儿网,内容丰富有趣,生活中的好帮手!
天天育儿网 > 从titles表获取按照title进行分组 每组个数大于等于2 给出title以及对应的数目t。

从titles表获取按照title进行分组 每组个数大于等于2 给出title以及对应的数目t。

时间:2023-12-28 22:00:56

相关推荐

从titles表获取按照title进行分组 每组个数大于等于2 给出title以及对应的数目t。

题目描述

从titles表获取按照title进行分组,每组个数大于等于2,给出title以及对应的数目t。

CREATE TABLE IF NOT EXISTS “titles” (

emp_noint(11) NOT NULL,

titlevarchar(50) NOT NULL,

from_datedate NOT NULL,

to_datedate DEFAULT NULL);

如插入:

INSERT INTO titles VALUES(10001,‘Senior Engineer’,‘1986-06-26’,‘9999-01-01’);

INSERT INTO titles VALUES(10002,‘Staff’,‘1996-08-03’,‘9999-01-01’);

INSERT INTO titles VALUES(10003,‘Senior Engineer’,‘1995-12-03’,‘9999-01-01’);

INSERT INTO titles VALUES(10004,‘Engineer’,‘1986-12-01’,‘1995-12-01’);

INSERT INTO titles VALUES(10004,‘Senior Engineer’,‘1995-12-01’,‘9999-01-01’);

INSERT INTO titles VALUES(10005,‘Senior Staff’,‘1996-09-12’,‘9999-01-01’);

INSERT INTO titles VALUES(10005,‘Staff’,‘1989-09-12’,‘1996-09-12’);

INSERT INTO titles VALUES(10006,‘Senior Engineer’,‘1990-08-05’,‘9999-01-01’);

INSERT INTO titles VALUES(10007,‘Senior Staff’,‘1996-02-11’,‘9999-01-01’);

INSERT INTO titles VALUES(10007,‘Staff’,‘1989-02-10’,‘1996-02-11’);

INSERT INTO titles VALUES(10008,‘Assistant Engineer’,‘1998-03-11’,‘2000-07-31’);

INSERT INTO titles VALUES(10009,‘Assistant Engineer’,‘1985-02-18’,‘1990-02-18’);

INSERT INTO titles VALUES(10009,‘Engineer’,‘1990-02-18’,‘1995-02-18’);

INSERT INTO titles VALUES(10009,‘Senior Engineer’,‘1995-02-18’,‘9999-01-01’);

INSERT INTO titles VALUES(10010,‘Engineer’,‘1996-11-24’,‘9999-01-01’);

INSERT INTO titles VALUES(10010,‘Engineer’,‘1996-11-24’,‘9999-01-01’);

输入描述

输出描述

题解

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的条件

代码

SELECT title,count(title) as tFROM titlesgroup by titleHAVING t >=2;

如果觉得《从titles表获取按照title进行分组 每组个数大于等于2 给出title以及对应的数目t。》对你有帮助,请点赞、收藏,并留下你的观点哦!

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