SQL 刷题 (1)

问题一:从titles表获取按照title进行分组,每组个数大于等于2,给出title以及对应的数目t。
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);

思路:关键点一:分组group by

关键点二:每组个数count

answer:

select title,count(title) as t
from titles
group by title
having t >= 2

 

问题二:

从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进行忽略,此处我们对不同的emp_no计数

answer:

select title,count(distinct emp_no) as t
from titles
group by title
having t >= 2

你可能感兴趣的:(SQL)