从titles表获取按照title进行分组

题目描述

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

SQL实现

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

 

解题关键:

1、用count函数而不是sum函数;

2、这里用having而不是where

where子句在分组之前过滤数据,在GROUPBY语句之前,SQL会在分组之前计算WHERE语句;

having子句在分组之后过滤数据,在GROUPBY语句之后,SQL会在分组之后计算HAVING语句。

 

 

 

 

 

 
posted @ 2019-02-26 00:04  pan2575184309  阅读(175)  评论(0)    收藏  举报