数据库(5)——DQL 查询数据操作(2)

5 查询数据操作(2)

5.6 ORDER BY(对查询结果排序)

--按照id降序排列DESC ,默认的是升序ASC
SELECT * FROM cms_user ORDER BY id ; #不写默认为升序
SELECT * FROM cms_user ORDER BY id ASC;
SELECT * FROM cms_user ORDER BY id DESC;
--按照年龄升序排列
SELECT * FROM cms_user ORDER BY age ASC;
--按字段位置降序排列
SELECT * FROM cms_user ORDER BY 1 DESC; #位置1的字段是id
--按照年龄升序,id降序排列
SELECT * FROM cms_user ORDER BY age ASC,id DESC; #当年龄一致的时候按照第二个字段的规定排序排列
--查询id,age,sex,显示分组详情,统计各组人数命名为totalusers,统计各组年龄总和命名为sum_age,从cms_user中,并且限制条件id>=2 ,按照sex分组,每组人数大于等于2,并且按照年龄降序,id升序排列
SELECT id,age,sex,GROUP_CONCAT(username),COUNT(*) AS totalUsers,SUM(age) AS sum_age 
FROM cms_user 
WHERE id>=2 
GROUP BY sex
HAVING COUNT(*)>=2
ORDER BY age DESC,id ASC;
-- 实现记录提取随机
SELECT * FROM cms_user ORDER BY RAND();

5.7 LIMIT限制显示条数(实现分页的核心)

--查询表中前3条记录
SELECT * FROM cms_user LIMIT 3;
--查询按id降序排列的前五条记录
SELECT * FROM cms_user ORDER BY id DESC LIMIT 5; #limit和order by的位置互换会报错
--根据(起始位置,步长[几条记录])查询记录
查询表中前一条记录(起始位置,步长)
SELECT * FROM cms_user LIMIT 1;#省略初始位置,步长为1
SELECT * FROM cms_user LIMIT 0,1;#从第一条记录开始,步长为1
SELECT * FROM cms_user LIMIT 1,1;#从第二条记录开始,步长为1
SELECT * FROM cms_user LIMIT 0,5; #从第一条记录开始,步长为5

5.8 SELECT语句总结

SELECT id,sex,age,GROUP_CONCAT(username), #查询id,age,sex,显示分组详情
COUNT(*) AS totalUsers, #统计各组人数
MAX(age) AS max_age, #各组年龄最大值
MIN(age) AS min_age, #最小值
AVG(age) AS avg_age, #平均值
SUM(age) AS sum_age #总和
FROM cms_user
WHERE id>=1 #并且限制条件id>=1
GROUP BY sex #按照sex分组
HAVING COUNT(*)>=2 #对分组结果进行二次筛选每组人数大于等于2
ORDER BY age DESC #并且按照年龄降序排列
LIMIT 0,2; #取前两条记录
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值