/*/*/*接上一篇*/*/*/
3.5 排序查询和限制查询结果的数量
1.排序查询
order by子句可用于对查询结果进行排序。
语法格式:[ order by { <排序表达式> [ asc | desc ] } [,...n }
其中,排序表达式可以是列名、表达式或一个正整数;asc表示升序排序,为系统默认排序方式;desc为降序排序。
提示:
排序操作可对数值、日期、字符三种数据类型使用,order by子句只能出现在整个select语句最后。
将计算机专业的学生按出生时间进行降序排列。
2.限制查询结果的数量
语法格式:limit { [offset,] row_count | row_count OFFSET offset }
说明:
(1)offest:位置偏移量,只是从哪一行开始显示,第1行的位置偏移量是0,第2行的位置偏移量 是1,以此类推,如果不指定位置偏移量,系统会从表中第1行开始显示。
(2)row_count:返回的行数。
(3)limit子句有两种语法格式,例如,显示表中第2~4行,可写为“limit 1.3”,也可以写为“limit 3 offset 1”。
查询成绩表中成绩后3位学生的学号、专业和学分。
或
源代码:
select count(*) as 总人数
from student;
select count(*) as 总人数
from student
where speciality = '通信';
select sum(tc) as 总学分
from student;
select sum(tc) as 总学分
from student
where sno = '191001' or sno = '196002';
select avg(tc) as 平均学分
from student;
select min(tc) as 最低分
from student;
select sno as 学生号,max(tc) as 最高分,min(tc) as 最低分
from student
where not tc is null
group by sno;
select sno as 学号,sname as 姓名,tc as 学分
from student
group by sno
having tc>50;
select *
from student
where speciality = '计算机'
order by sbirthday desc;
select sno,speciality,tc
from student
order by tc
limit 3 offset 0;
select sno,speciality,tc
from student
order by tc
limit 0,3;