排序查询
ORDER BY子句用于对查询结果进行排序。
语法格式:
[ ORDER BY { <排序表达式> [ ASC | DESC ] } [ ,…n ]
其中,排序表达式,可以是列名、表达式或一个正整数,ASC表示升序排列,它是系统默认排序方式,DESC表示降序排列。
【例6.19】将计算机专业的学生按出生时间降序排序。
mysql> SELECT *
-> FROM student
-> WHERE speciality='计算机'
-> ORDER BY sbirthday DESC;
查询结果:
+----------+----------+------+---------------+------------+-----+
| sno | sname | ssex | sbirthday | speciality | tc |
+----------+----------+------+---------------+------------+-----+
| 191002 | 张慧玲 | 女 | 1999-11-07 | 计算机 | 50 |
| 191003 | 冯涛 | 男 | 1999-08-12 | 计算机 | 52 |
| 191001 | 刘清泉 | 男 | 1998-06-21 | 计算机 | 52 |
+----------+----------+------+---------------+-------------+----+
3 rows in set (0.00 sec)
2. 限制查询结果的数量
LIMIT子句用于限制SELECT语句返回的行数。
语法格式:
LIMIT {[offset,] row_count | row_count OFFSET offset}
说明:
(1)offset:位置偏移量,指示从哪一行开始显示,第1行的位置偏移量是0,第2行的位置偏移量是1,…,以此类推,如果不指定位置偏移量,系统会从表中第1行开始显示。
(2)row_count:返回的行数。
(3)LIMIT子句有两种语法格式,例如,显示表中第2行到第4行,可写为:”LIMIT 1, 3”,也可写为: ”LIMIT 3 OFFSET 1”。