排序 ORDER BY
ASC:升序,默认的情况是升序
DESC: 降序
1.单列排序
SELECT * FROM 表名 ORDER BY 列 (ASC | DESC);
2.添加条件根据查询结果排序
SELECT * FROM 表名 WHERE 条件 ORDER BY 列 (ASC | DESC);
3.多列排序
SELECT * FROM 表名 WHERE 条件 ORDER BY 列 (ASC | DESC),列 (ASC | DESC);
4.如果你要排序的列是中文,我们先要将排序的列指明为GBK编码,然后在排序
SELECT * FROM 表名 WHERE 条件 ORDER BY convert(name USING gbk);
查询出性别为1的学生并根据年龄进行排序升序
SELECT * FROM studentinfo WHERE gender=1 ORDER BY age;
查询出性别为0的学生并根据年龄进行排序降序
SELECT * FROM studentinfo WHERE gender=0 ORDER BY age DESC;
注意:
在多个列上降序排序 如果想在多个列上进行降序排序,必须对每个列指定DESC关键字与和ASC(ASCENDING)关键字
默认按照列值从小到大排列(asc)asc从小到大排列,即升序 desc从大到小排序,即降序
多列排序时将行数据按照列1进行排序,如果某些行列1的值相同时,则按照列2排序,以此类推
限定查询
1.如果LIMIT 后面只跟了一个数字,表示限制返回多少条,并且从第一条开始。
SELECT * FROM studentinfo LIMIT 6; => SELECT * FROM studentinfo LIMIT 0,6;
2.如果LIMIT 后面只跟了两个数字,第一个数字表示偏移量(不包含当前数字对应的这一行),后一个数字表示限制返回多少条。
SELECT * FROM studentinfo LIMIT 6,6;
我们如何去实现一个分页功能,输入对应的页码m,每一页返回20条数据
SELECT * FROM studentinfo LIMIT (m-1)*20,20
取年龄最大的
SELECT * FROM studentinfo ORDER BY age DESC LIMIT 1;
网友评论