mysql的排序检索顺序ORDER BY

来源:互联网 发布:大数据译见 编辑:程序博客网 时间:2024/05/22 10:51

经过这一节的学习,才知道排序并不是随机显示的,所以要对上一节的学习认错。如果我们不对输出的数据进行排序,数据一般将以它的底层表中出现的顺序显示,这就有可能是数据最初添加到表中的顺序!

对单个列进行排序:

SELECT 列名 FROM 表名 ORDER BY 列名;(本句的两个列名是同一个的!如果在此列下有数字和字母的数据,一般是先排数字然后排字母,顺序是升序。注意:在指定一条ORDER BY 子句时,应该保证它是SELECT语句中的最后一条子句。 )

对多个列进行排序:
这个比较常用。比如,我们有一个厂家产品表,里面有多个厂家,而每一个厂家都有多种产品。这时我们希望按厂家排序,排好序列之后,希望在各自的厂家区域对各自的产品进行排序。

SELECT 列名1,列名2,列名3 FROM 表名 ORDER BY 列名2,列名3;(注意:数据出现按照列名1-列名2-列名3;如果你是这样写的:SELECT 列名3,列名1,列名2 FROM 表名 ORDER BY 列名2,列名3;数据出现的顺序是先列名3,到列名1,最后是列名2。)

当然我们也可以简写上面的代码,利用相对列位置,不用重新输入列名,作用同上:

SELECT 列名1,列名2,列名3 FROM 表名 ORDER BY 23

指定排列顺序
以上的排序是升序的排列,这是默认的排列顺序,有升必有降,利用DESC!

SELECT 列名1,列名2,列名3 FROM 表名 ORDER BY 列名2 DESC,列名3;(对列名2进行降序排列,列名3无影响,列名3仍然是升序排列!注意1DESC只应用到直接位于其前面的列名,也就是说没有在列名2后加入DESC,而是在列名3后加入DESC,那对列名2进行升序,而只对列名3进行降序!注意2:如果想在多个列中进行降序,就必须对每一列指定DESC关键字!)

拓展:
降序:DESC是DESCENDING的缩写,这两个关键词都可以使用,一般都是用简写,个人习惯。
升序:ASC是ASCENDING的缩写,这两个关键词都可以使用,一般都是用简写,个人习惯。

0 0
原创粉丝点击