MySQL的DQL数据查询语言--分页和排序

4.5、分页和排序

排序 order by

-- 排序:升序ASC ,降序DESC
-- ORDER BY 通过哪个字段排序 升序或降序(DESC、ASC)
-- 查询的结果根据成绩降序、升序排序
SELECT s.`studentno`,`studentname`,`SubjectName`,`studentresult`
FROM `student` s
INNER JOIN `subject` sub
ON s.`gradeid`=sub.`GradeID`
INNER JOIN `result` r
ON s.`studentno`=r.`studentno`
WHERE sub.`SubjectName`='高等数学-2'
ORDER BY `studentresult` ASC

分页 limit

-- 为什么要分页?
-- 缓解数据库压力,给人的体验更好

-- 分页,每页只显示5条数据
-- 第一页   limit 0,5   (1-1)*5
-- 第二页   limit 5,5   (2-1)*5
-- 第三页   limit 10,5   (3-1)*5
-- 第N页   limit  (n-1)*pageSize   pageSize
-- 【pageSize:页面的数据大小】
-- 【(n-1)*pageSize:起始数据的值】
-- 【n:当前页】
-- 【数据总数/页面大小 = 总页数】

SELECT s.`studentno`,`studentname`,`SubjectName`,`studentresult`
FROM `student` s
INNER JOIN `subject` sub
ON s.`gradeid`=sub.`GradeID`
INNER JOIN `result` r
ON s.`studentno`=r.`studentno`
WHERE sub.`SubjectName`='高等数学-2'
ORDER BY `studentresult` ASC
LIMIT 0,5

语法:limit(查询的起始下标,pageSize)

练习

-- 查询JAVA第一学年 课程成绩排名前十的学生,并且分数要大于80 的学生信息(学号、姓名、课程名称、分数)

SELECT s.`studentno`,`studentname`,`SubjectName`,`studentresult`
FROM `student` s
INNER JOIN `subject` sub
ON s.`gradeid`=sub.`GradeID`
INNER JOIN `result` r
ON s.`studentno`=r.`studentno`
WHERE `SubjectName`='JAVA第一学年'
ORDER BY `studentresult` DESC
LIMIT 0,10
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值