排序(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(查询起始下标,一页的大小)
综合测试
查询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