当前位置: 首页 > news >正文

SQL单表复杂查询where、group by、order by、limit

1.1SQL查询代码如下:

select job as 工作类别,count(job) as 人数 from tb_emp 
where entrydate <='2015-01-01' 
group by job 
having  count(job) > 2 
order by count(job) 
limit 1,1
  • where entrydate <=‘2015-01-01’ 表示查询日期小于2015-01-01的记录
  • group by job 表示根据工作类别分组
  • having count(job) > 2 该处应当十分注意,这是根据分组后的结果筛选出 count(job) > 2 的工作类别
  • order by count(job) 根据 count(job) 的数量进行排序,默认升序
  • limit 1,1,该处是分页查询,起始页为1,页面大小为1
  • 结果如下
    该条SQL语句执行结果

1.2对1.1中的SQL查询工作类别进行赋词实例化

select (case job when 1 then '部长' when  2 then '校长' else '老师' end) 工作类别, count(job) as 人数
from tb_emp
where entrydate <= '2015-01-01'
group by job
having count(job) > 2
order by count(job)
limit 0,2
  • 与第一条SQL相比该条使用case job when 1 then ‘部长’ when 2 then ‘校长’ else ‘老师’
    end对工作类别进行赋词

  • 结果如下

该条SQL语句执行结果

1.3如下是创建表格以及插入记录的代码:

-- 员工管理(带约束)
create table tb_emp (
    id int unsigned primary key auto_increment comment 'ID',
    username varchar(20) not null unique comment '用户名',
    password varchar(32) default '123456' comment '密码',
    name varchar(10) not null comment '姓名',
    gender tinyint unsigned not null comment '性别, 说明: 1 男, 2 女',
    image varchar(300) comment '图像',
    job tinyint unsigned comment '职位, 说明: 1 班主任,2 讲师, 3 学工主管, 4 教研主管',
    entrydate date comment '入职时间',
    create_time datetime not null comment '创建时间',
    update_time datetime not null comment '修改时间'
) comment '员工表';

-- 准备测试数据
INSERT INTO tb_emp (id, username, password, name, gender, image, job, entrydate, create_time, update_time) VALUES
    (1, 'jinyong', '123456', '金庸', 1, '1.jpg', 4, '2000-01-01', '2022-10-27 16:35:33', '2022-10-27 16:35:35'),
    (2, 'zhangwuji', '123456', '张无忌', 1, '2.jpg', 2, '2015-01-01', '2022-10-27 16:35:33', '2022-10-27 16:35:37'),
    (3, 'yangxiao', '123456', '杨逍', 1, '3.jpg', 2, '2008-05-01', '2022-10-27 16:35:33', '2022-10-27 16:35:39'),
    (4, 'weiyixiao', '123456', '韦一笑', 1, '4.jpg', 2, '2007-01-01', '2022-10-27 16:35:33', '2022-10-27 16:35:41'),
    (5, 'changyuchun', '123456', '常遇春', 1, '5.jpg', 2, '2012-12-05', '2022-10-27 16:35:33', '2022-10-27 16:35:43'),
    (6, 'xiaozhao', '123456', '小昭', 2, '6.jpg', 3, '2013-09-05', '2022-10-27 16:35:33', '2022-10-27 16:35:45'),
    (7, 'jixiaofu', '123456', '纪晓芙', 2, '7.jpg', 1, '2005-08-01', '2022-10-27 16:35:33', '2022-10-27 16:35:47'),
    (8, 'zhouzhiruo', '123456', '周芷若', 2, '8.jpg', 1, '2014-11-09', '2022-10-27 16:35:33', '2022-10-27 16:35:49'),
    (9, 'dingminjun', '123456', '丁敏君', 2, '9.jpg', 1, '2011-03-11', '2022-10-27 16:35:33', '2022-10-27 16:35:51'),
    (10, 'zhaomin', '123456', '赵敏', 2, '10.jpg', 1, '2013-09-05', '2022-10-27 16:35:33', '2022-10-27 16:35:53'),
    (11, 'luzhangke', '123456', '鹿杖客', 1, '11.jpg', 2, '2007-02-01', '2022-10-27 16:35:33', '2022-10-27 16:35:55'),
    (12, 'hebiweng', '123456', '鹤笔翁', 1, '12.jpg', 2, '2008-08-18', '2022-10-27 16:35:33', '2022-10-27 16:35:57'),
    (13, 'fangdongbai', '123456', '方东白', 1, '13.jpg', 1, '2012-11-01', '2022-10-27 16:35:33', '2022-10-27 16:35:59'),
    (14, 'zhangsanfeng', '123456', '张三丰', 1, '14.jpg', 2, '2002-08-01', '2022-10-27 16:35:33', '2022-10-27 16:36:01'),
    (15, 'yulianzhou', '123456', '俞莲舟', 1, '15.jpg', 2, '2011-05-01', '2022-10-27 16:35:33', '2022-10-27 16:36:03'),
    (16, 'songyuanqiao', '123456', '宋远桥', 1, '16.jpg', 2, '2010-01-01', '2022-10-27 16:35:33', '2022-10-27 16:36:05'),
    (17, 'chenyouliang', '12345678', '陈友谅', 1, '17.jpg', null, '2015-03-21', '2022-10-27 16:35:33', '2022-10-27 16:36:07'),
    (18, 'zhang1', '123456', '张一', 1, '2.jpg', 2, '2015-01-01', '2022-10-27 16:35:33', '2022-10-27 16:36:09'),
    (19, 'zhang2', '123456', '张二', 1, '2.jpg', 2, '2012-01-01', '2022-10-27 16:35:33', '2022-10-27 16:36:11'),
    (20, 'zhang3', '123456', '张三', 1, '2.jpg', 2, '2018-01-01', '2022-10-27 16:35:33', '2022-10-27 16:36:13'),
    (21, 'zhang4', '123456', '张四', 1, '2.jpg', 2, '2015-01-01', '2022-10-27 16:35:33', '2022-10-27 16:36:15'),
    (22, 'zhang5', '123456', '张五', 1, '2.jpg', 2, '2016-01-01', '2022-10-27 16:35:33', '2022-10-27 16:36:17'),
    (23, 'zhang6', '123456', '张六', 1, '2.jpg', 2, '2012-01-01', '2022-10-27 16:35:33', '2022-10-27 16:36:19'),
    (24, 'zhang7', '123456', '张七', 1, '2.jpg', 2, '2006-01-01', '2022-10-27 16:35:33', '2022-10-27 16:36:21'),
    (25, 'zhang8', '123456', '张八', 1, '2.jpg', 2, '2002-01-01', '2022-10-27 16:35:33', '2022-10-27 16:36:23'),
    (26, 'zhang9', '123456', '张九', 1, '2.jpg', 2, '2011-01-01', '2022-10-27 16:35:33', '2022-10-27 16:36:25'),
    (27, 'zhang10', '123456', '张十', 1, '2.jpg', 2, '2004-01-01', '2022-10-27 16:35:33', '2022-10-27 16:36:27'),
    (28, 'zhang11', '123456', '张十一', 1, '2.jpg', 2, '2007-01-01', '2022-10-27 16:35:33', '2022-10-27 16:36:29'),
    (29, 'zhang12', '123456', '张十二', 1, '2.jpg', 2, '2020-01-01', '2022-10-27 16:35:33', '2022-10-27 16:36:31');



相关文章:

  • Linux基础全整理 从入门到放弃,一些想说的话
  • 大数据基础设施搭建 - ZooKeeper
  • 界面组件DevExpress Reporting v23.1亮点 - 全新升级报表查看器
  • 05 robotFrameWork+selenium2library 一维数组的使用
  • Java基础- 浅谈javac和javap
  • 05_SHELL编程之文本处理工具SED
  • 别再吐槽大学教材了,来看看这些网友强推的数学神作!
  • 【Python基础篇】运算符
  • Threejs之射线拾取模型
  • 内容运营策略:个性化推荐
  • 社区论坛小程序系统源码+自定义设置+活动奖励 自带流量主 带完整的搭建教程
  • Django 简单入门(一)
  • c++异常
  • JavaScript的函数的形参与实参是怎么回事
  • 3.Pandas高级函数应用
  • 【漏洞复现】IP-guard WebServer 远程命令执行
  • Linux系统中常用的压缩与解压缩方法
  • python图
  • portraiture2024ps磨皮插件参数设置教程
  • 【51单片机系列】C51基础
  • 袁思达已任中国科学院办公厅主任
  • 受美关税影响,本田预计新财年净利下降七成,并推迟加拿大建厂计划
  • 技术派|更强的带刀侍卫:从054B型战舰谈谈世界护卫舰发展
  • 《审判》|“被告”的魅力:K在等什么?
  • 伊美第四轮核问题谈判开始
  • 2025年两岸关系研讨会在上海开幕