Mysql第五章 - 排序检索数据ORDER BY

2024-03-11  本文已影响0人  足__迹

举例:
输入:SELECT * FROM student s ;
输出:


image.png

注释:

上面的例子中,检索出来的并不是按照完全的随机顺序显示的,如果不进行排序操作,数据会以底层表中的顺序显示(最初添加表中的顺序),但是如果中间进行过删除或者修改,顺序会受到Mysql回收存储空间的影响,因此如果不明确排序顺序,则不应该假定检索出的数据有意义。

单个字段排序

输入:select * FROM student s order by name ;
分析:这条语句中指示按照 name 列顺序排序
输出:


按多个列排序
经常需要不止一个列进行数据排序,例如,按照远程姓名,年龄排序,(首先按照姓名排序,然后按照年龄排序)

例:
输入:select * FROM student s order by name,age;
分析:按多个列排序,只要指定列名,列名之间用逗号分开即可,以下例子中,仅在多行具有相同的name时,才会对列 age进行排序
输出:


image.png
指定排序方向

数据排序默认为升序排序,可以通过指定关键字指定排序顺序。
举例:

1,DESC关键字只应用到直接位于其前面的列名,如果想在多个列上进行降序排序,必须
对每个列指定DESC关键字。
2,DESC相反的关键字是ASC,但实际上,ASC没有多大用处,因为升序是默认的(如果既不指定ASC也
不指定DESC,则假定为ASC)
3,ORDER BY子句,必须是SELECT语句中的最后一条子句

引用:

区分大小写和排序顺序 在对文本性的数据进行排序时,A与a相同吗?a位于B之前还是位于Z之后?这些问题不是理论问题,其答案取决于数据库如何设置。在字典(dictionary)排序顺序中,A被视为与a相同,这是MySQL(和大多数数据库管理系统)的默认行为。但是,许多数据库管理员能够在需要时改变这种行为(如果你的数据库包含大量外语字符,可能必须这样做)。这里,关键的问题是,如果确实需要改变这种排序顺序,用简单的ORDER BY子句做不到。你必须请求数据库管理员的帮助

上一篇 下一篇

猜你喜欢

热点阅读