简说SQL题

题目描述
从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 关键字;再个分组之后还要添加条件进行过滤,自然会想到用having。
然而我们知道where也可以过滤条件,为什么不用where。一般where用于分组之前的行级别的过滤,having用于分组之后
的过滤。故sql语句为:

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

原文地址:https://www.cnblogs.com/fruit1024/p/12249989.html

时间: 2024-10-31 13:07:11

简说SQL题的相关文章

两道sql题

部门周计划表  Hr_DepartPlanWeek : DepartMent部门名称,DepartMentID部门ID. 部门表   g_group: gname部门名称,gid部门id 根据DepartMentID  修改表 g_group的DepartMent字段 update Hr_DepartPlanWeek set DepartMent=t.gname from (select gname,gid from g_group left join Hr_DepartPlanWeek on

一个奇葩的SQL题,够强大。

困惑描述: 现有一张图片表,表里一个sort字段,这个字段是不重复的.不连续的数字.大致结构如下 create table Imgs( `id` bigint(20) NOT NULL AUTO_INCREMENT,  `src` varchar(255) NOT NULL , `sort` int(11) DEFAULT '0' ) 注:sqlserver请修改  AUTO_INCREMENT 为i dentity(1,1) 大致数据如下 id         src           so

SQL题

1.取出sql表中第31到40的记录(以自动增长ID为主键) sql server方案: select top 10 * from t where id not in (select top 30 id from t order by id ) orde by id mysql方案: select * from t order by id limit 30,10 oracle方案: select * from (select rownum r,* from t where r<=40) wher

sql题库答案

SQL 测验 结果:20/20 您的回答: 1.SQL 指的是? 您的回答:Structured Query Language 2.哪个 SQL 语句用于从数据库中提取数据? 您的回答:SELECT 3.哪条 SQL 语句用于更新数据库中的数据? 您的回答:UPDATE 4.哪条 SQL 语句用于删除数据库中的数据? 您的回答:DELETE 5.哪条 SQL 语句用于在数据库中插入新的数据? 您的回答:INSERT INTO 6.通过 SQL,您如何从 "Persons" 表中选取 &

力扣sql题

组合两个表 表1: Person +-------------+---------+| 列名 | 类型 |+-------------+---------+| PersonId | int || FirstName | varchar || LastName | varchar |+-------------+---------+PersonId 是上表主键表2: Address +-------------+---------+| 列名 | 类型 |+-------------+-------

sql题总结

Student(S#,Sname,Sage,Ssex) 学生表       S#:学号:Sname:学生姓名:Sage:学生年龄:Ssex:学生性别Course(C#,Cname,T#) 课程表                    C#,课程编号:Cname:课程名字:T#:教师编号SC(S#,C#,score) 成绩表                             S#:学号:C#,课程编号:score:成绩Teacher(T#,Tname) 教师表                

一道SQL题考你数据库的使用能力

题目:数据库中存在例如以下数据,求用户终于剩余金额. 用户 类型 金额 A 存入 100 A 存入 200 A 取出 100 A 取出 200 A 存入 300 A 取出 300 本人Oracle接触的多些,所以给个Oracle的解决方法: Sum(Decode(...))能解决以上同类全部的问题,具体的我就不写了,你自己写的基于会深刻些! 如有更好的方法请各位留个言! 同求MySQL的最优实现方法,由于接下来将要使用MySQL数据库了!

一个SQL题

题目如图: 模拟题目建的表如下图: 答案: select t3.id,t3.name,max(t3.score) from (select t1.* from b t1,(select id,max(score) score from b group by id) t2 where t1.id=t2.id and t1.score<t2.score) t3 group by t3.id;

SQL语句统计每天、每月、每年的 数据

1.每年 select year(ordertime) 年, sum(Total) 销售合计 from 订单表 group by year(ordertime) 2.每月 select year(ordertime) 年, month(ordertime) 月, sum(Total) 销售合计 from 订单表 group by year(ordertime), month(ordertime 3.每日 select year(ordertime) 年, month(ordertime) 月,