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之后。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 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)