MySQL必知必会 学习笔记 第五章 排序检索数据

检索出的数据如果不排序,不是以纯粹的随机顺序显示的,一般以行在底层表中出现的顺序显示,这可以是数据最初添加到表中的顺序,但如果数据后来进行过更新或删除,则此顺序将会受到MySQL重用回收存储空间的影响,因此不能依赖不排序的顺序。关系数据库的设计理论认为,如不明确规定排序顺序,则不应假定检索出的数据顺序有意义。

SQL语句由子句构成,有些子句是必需的,有些是可选的。子句通常由一个关键字和所提供的数据组成。例子是SELECT语句的FROM子句。

ORDER BY子句对检索结果排序:

SELECT columnName1
FROM tableName
ORDER BY columnName2;    # colName2可以是colName1

可以根据非检索出的列对数据排序。

按多个列排序:

SELECT columnName
FROM tableName
ORDER BY columnName1, columnName2;

以上先按columnName1排序,colName1相同时按columnName2排序。

ORDER BY的默认排序是升序(从a到z),也可以降序排序:

SELECT columnName1
FROM tableName
ORDER BY columnName2 DESC;

DESC只作用于它之前的列:

SELECT columnName
FROM tableName
ORDER BY columnName1 DESC, columnName2;

先按columnName1的降序排序,colName1相同的按columnName2的升序排序。

如果想按多个列的降序排序,每个列都要指定DESC。

ASC是升序,由于升序是默认排序方式,所以加不加ASC都可以。

对文本类数据排序时A与a是否相同,a位于B之前还是Z之后,取决于数据库如何设置。MySQL(和大多DBMS一样)的字典排序顺序中,A与a相同。

选出某列中最大的值:

SELECT columnName
FROM tableName
ORDER BY columnName DESC
LIMIT 1

ORDER BY子句应在FROM之后,LIMIT子句应在ORDER BY之后。

posted @   epiphanyy  阅读(16)  评论(0编辑  收藏  举报  
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示