掌握用 ORDER BY 对结果排序、用 LIMIT 限制行数,以及用 DISTINCT 去除重复项。
在 Kodokon 中打开本课默认情况下,SELECT 返回的行的顺序是没有保证的:数据库怎么方便就怎么返回。要强制指定一个顺序,可以加上 ORDER BY,后面跟一个列。排序默认是升序的(你可以用 ASC 把它写明确);要降序排序就加上 DESC。
SELECT title, price FROM books ORDER BY price;
SELECT title, price FROM books ORDER BY price DESC;你可以按多个列排序:ORDER BY genre, price DESC 先按 genre 排序,然后在同一个 genre 内部,从最贵到最便宜排序。LIMIT 子句只保留结果的前 N 行:与 ORDER BY 结合使用时,它能给你一个 "前 N 名"。LIMIT 3 OFFSET 2 则会额外跳过前 2 行。
SELECT title, price FROM books
ORDER BY price DESC
LIMIT 3;最后一个工具:DISTINCT,放在 SELECT 的紧后面,会从结果中去除重复项。我们的表里有 7 本书,但只有 3 种不同的 genre:如果没有 DISTINCT,下面的查询会显示带重复的 7 行。
SELECT DISTINCT genre FROM books;
SELECT DISTINCT author FROM books;