牛客网数据库SQL实战13—— 从titles表获取按照title进行分组

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

输入描述:

输出描述:

title t
Assistant Engineer 2
Engineer 4
省略 省略
Staff 3

我的解答

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

此题思路如下:

  1. 用COUNT()函数和GROUP BY语句可以统计同一title值的记录条数
  2. 根据题意,输出每个title的个数为t,故用AS语句将COUNT(title)的值转换为t
  3. 由于WHERE后不可跟COUNT()函数,故用HAVING语句来限定t>=2的条件
发布了175 篇原创文章 · 获赞 58 · 访问量 37万+

猜你喜欢

转载自blog.csdn.net/sunbocong/article/details/105523015
今日推荐