分页 limit 和排序 order by
排序(order by )
升序(ASC),降序(DESC)
ORDER BY 通过哪个字段排序,怎么排
查询的结果根据 成绩降序 排序
SELECT s.`studentno`,`studentname`,`subjectname`,`studentresult`
FROM `student` AS s
INNER JOIN `result` AS r
ON s.`studentno`=r.`studentno`
INNER JOIN `subject` AS sub
ON sub.`subjectno` = r.`subjectno`
WHERE `subjectname` = '数据结构-1'
ORDER BY `studentresult` ASC -- 升序
-- ORDER BY `studentresult` desc -- 降序
输出结果:
分页(limit)
第一页 limit 0,5 (1-1)*5
第二页 limit 5,5 (2-1)*5
第三页 limit 10,5 (3-1)*5
第n页 limit 0,5 (n-1)* pageSize,pageSize
【pageSize:页面大小】
【(n-1)* pageSize:起始值】
【n:当前页】
【数据总数/页面大小 = 页面总数】
-- 分页
-- 100万
-- 为什么要分页?
-- 缓解数据库压力,给人的体验更好,瀑布流
-- 分页,每页只显示五条数据
-- 语法:limit起始值,页面的大小
-- 网页应用:当前,总的页数,页面的大小
-- LIMIT 0,5 1~5
-- LIMIT 1,5 2~6
-- LIMIT 6,5
SELECT s.`studentno`,`studentname`,`subjectname`,`studentresult`
FROM `student` AS s
INNER JOIN `result` AS r
ON s.`studentno`=r.`studentno`
INNER JOIN `subject` AS sub
ON sub.`subjectno` = r.`subjectno`
WHERE `subjectname` = '数据结构-1'
ORDER BY `studentresult` ASC -- 升序
LIMIT 5,5
-- 第一页 limit 0,5 (1-1)*5
-- 第二页 limit 5,5 (2-1)*5
-- 第三页 limit 10,5 (3-1)*5
-- 第n页 limit 0,5 (n-1)* pageSize,pageSize
-- 【pageSize:页面大小】
-- 【(n-1)* pageSize:起始值】
-- 【n:当前页】
-- 【数据总数/页面大小 = 页面总数】
语法:
limit(查询起始下标,pageSize)
思考:
查询Java第一学年 课程成绩排名前十的学生,并且分数要大于80的学生信息(学号,姓名,课程名字,分数)
-- 查询Java第一学年 课程成绩排名前十的学生,并且分数要大于80的学生信息(学号,姓名,课程名字,分数)
SELECT s.`studentno`,`subjectname`,`subjectname`,`studentresult`
FROM `student` AS s
INNER JOIN `result` AS r
ON s.`studentno` = r.`studentno`
INNER JOIN `subject` AS sub
ON sub.`subjectno` = r.`subjectno`
WHERE `subjectname` = 'java第一学年' AND `studentresult`>=80
ORDER BY `studentresult` DESC
LIMIT 0,10
输出结果: