MySQL——分页和排序

Select完整的语法:

SELECT  [ALL  |  DISTINCT]

{*  |  table.*  |  [table.field1[as  alias1][,table.field2[as  alias2]][, ...]]}

FROM  table_name  [as  table_alias]

        [left  |  right  |  inner  join  table_name2]    -- 联合查询

        [WHERE  ...]    -- 指定结果需满足的条件

        [GROUP  BY  ...]    -- 指定结果按照哪几个字段来分组

        [HAVING]    -- 过滤分组的记录必须满足的次要条件

        [ORDER  BY  ...]    -- 指定查询记录按一个或多个条件排序

        [LIMIT  {[offset,]row_count  |  row_countOFFSET  offset}];   

                                       -- 指定查询的记录从哪条至哪条     

注意:[ ]是代表可选的,{ }代表必选的


排序

代码演示:

-- 排序:升序:ASC  和降序:DESC
SELECT s.studentno,studentname,subjectname,studentresult
FROM student s
INNER JOIN result r
ON s. studentno = r.studentno
INNER JOIN `subject` sub
ON r.subjectno = sub.subjectno
WHERE subjectname = '数据库结构-1'
-- 根据查询的结果,成绩使用降序排序
-- 语法:ORDER BY 通过哪个字段排序,怎么排
ORDER BY studentresult DESC

分页

为什么要分页?

——缓解数据库压力,给人的体验更好。(瀑布流:无限往下刷,如抖音等)

SELECT s.studentno,studentname,subjectname,studentresult
FROM student s
INNER JOIN result r
ON s. studentno = r.studentno
INNER JOIN `subject` sub
ON r.subjectno = sub.subjectno
WHERE subjectname = '数据库结构-1'
ORDER BY studentresult DESC

-- 分页:每页只显示5条数据
-- 语法:LIMIT 起始值,页面的大小
-- LIMIT 1,5  -- 第2~6条数据
LIMIT 0,5  -- 第1~5条数据

-- 第一页: LIMIT 0,5
-- 第二页: LIMIT 5,5
-- 第三页: LIMIT 10,5
-- 第N页:  LIMIT (N-1)*5,5    5为页面大小(pagesize),n为当前页,(n-1)*pagesize为起始值
-- 数据总数/页面大小=总页数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值