查询排序:

 

-- 2.10 查询排序(order by)

-- 语法 :order by 字段 asc/desc

-- asc: 顺序,正序。数值:递增,字母:自然顺序(a-z)

-- desc: 倒序,反序。数值:递减,字母:自然反序(z-a)

 

-- 默认情况下,按照插入记录顺序排序

SELECT * FROM student;

 

-- 需求: 按照id顺序排序

SELECT * FROM student ORDER BY id ASC;

SELECT * FROM student ORDER BY id; -- 默认正序

 

SELECT * FROM student ORDER BY id DESC;-- 反序

 

-- 注意:多个排序条件

-- 需求: 按照servlet正序,按照jsp的倒序

SELECT * FROM student ORDER BY servlet ASC,jsp DESC;

-- 成绩表按js成绩正序排列

SELECT * FROM score ORDER BY js ASC;

-- 成绩表按css成绩倒序排列

SELECT * FROM score ORDER BY css DESC;

                  分组查询:

 

-- 2.11 分组查询(group by)

-- 需求: 查询男女的人数

-- 预期结果:

  --  男   3

  --- 女   2

  -- 1) 把学生按照性别分组(GROUP BY gender)

  -- 2) 统计每组的人数(COUNT(*))

SELECT gender,COUNT(*) FROM student GROUP BY gender;

 

-- 查询每个性别人数
SELECT ssex FROM student GROUP BY ssex
SELECT ssex,COUNT(*) FROM student GROUP BY ssex
-- 查询每个性别学生的总零花钱
SELECT ssex,SUM(money) FROM student grounp BY ssex

                 分组查询后筛选:

 

-- 2.12 分组查询后筛选

-- 需求: 查询总人数大于2的性别

-- 1) 查询男女的人数

-- 2)筛选出人数大于2的记录(having)

--- 注意: 分组之前条件使用where关键字,分组之后条件使用having关键字

SELECT gender,COUNT(*) FROM student GROUP BY gender HAVING COUNT(*)>2;

-- 查询人数大于2的性别
SELECT ssex FROM student GROUP BY ssex HAVING COUNT(*)>2
-- 查询总零花钱大于1000的性别
SELECT ssex,SUM(money) FROM student GROUP BY ssex HAVING SUM(money)>1000

 

posted on   博塬  阅读(110)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现



点击右上角即可分享
微信分享提示