WHERE、排序和分页
这一节继续学习查询里的过滤、排序和分页。
一、准备文章表
先创建一张文章表:
插入几条数据:
二、按状态过滤
查询已发布文章:
查询某个用户的已发布文章:
三、排序 ORDER BY
按创建时间从新到旧:
按浏览量从高到低:
排序方向:
四、多字段排序
先按状态排序,再按创建时间从新到旧:
多字段排序的含义:
- 先按第一个字段排序。
- 第一个字段相同,再按第二个字段排序。
- 继续类推。
五、限制返回数量 LIMIT
查询浏览量最高的 3 篇文章:
LIMIT 3 表示最多返回 3 行。
六、分页查询
最常见的分页写法:
含义:
第 1 页:
第 2 页:
第 3 页:
公式:
七、分页必须配合稳定排序
分页时建议一定写 ORDER BY。
不推荐:
因为没有排序时,数据库不保证每次返回顺序都符合业务预期。
推荐:
加上 id DESC 可以让创建时间相同的数据也有稳定顺序。
八、统计总数 COUNT
分页接口通常还要返回总条数:
列表数据和总数一般是两条 SQL:
九、查询顺序怎么写
常见查询语句顺序:
示例:
先按这个顺序写,后面再学习更复杂的 GROUP BY 和 JOIN。

