mysql怎么过排序 mysql的排序语句
21《MySQL 教程》ORDER BY 排序
前面小节介绍了如何查询数据,并且介绍了如何使用 WHERE 条件对查询的数据结果集进行筛选,本小节介绍如何使用 ORDER BY 对查询结果集进行排序,排序在实际业务中非常有必要,可以较好地对结果集数据分析和处理。
成都创新互联公司坚实的技术研发基础赢得了行业内的良好口碑,公司成立十载来,为近千家企业提供过网站建设、软件开发、搜索引擎优化技术、互联网大数据整合营销服务,多年的技术服务成功经验、众多的客户使我们能懂得更多,做得更好。"让您的网站跑起来"是我们一直追求的目标!
ASC 是对结果集按照字段从小到大排序(升序),以 teacher 表为例,将查询出来的所有结果集按照年龄 age 从小到大排序:
执行结果如下图:
DESC 是对结果集按照字段从大到小排序(降序),以 teacher 表为例,将查询出来的所有结果集按照年龄 id 从大到小排序:
执行结果如下图:
以 teacher 表为例,将查询出来的结果集按照 age 从大到小排序之后,再按照 id 字段从小到大排序:
执行结果如下图:
前面排序的 age 和 id 字段是 int 类型,为了演示方便这里先插入几个 name 字段为英文名的教师测试数据,并对 name 字段排序,插入数据 SQL 语句如下:
对查询结果集按照 name 字段 ASC 升序排序:
执行结果如下图:
本小节介绍了如何使用 ORDER BY 对查询结果集按照值字段排序,其中包括 ASC 升序和 DESC 降序,需要注意的是各种数据的字符集可能不同,如中文字符编码 GBK编码、utf-8编码, 若需要经常对字符串类型字段进行排序,可以给该字符串字段加上普通 Bree索引,二级索引树字符串默认存储方式是按照字符集升序存储的(MySQL8.0 可自定义排序存储方式),所以有索引的字段排序性能比没有索引的字段排序性能好。
mysql排序
由于mysql没有row_number()方法,只能通过其它方法来进行排序,以下为使用变量来实现排序
示例1:以col1分组,col2正序排序
示例2:以col1分组,col2倒序排序
MySQL 排序优化
2.1 排序方式
数据量小则在内存排序, 数据量大则使用磁盘排序
内存排序 : 直接使用"快速排序"
磁盘排序 : 先将数据分块, 对每个独立的块使用"快速排序", 并将各个块的排序结果存在磁盘上, 然后将各个排好序的块进行合并(merge), 最后返回排序结果
2.2 排序算法
3. 注意点 :
mysql实现排序
MySQL的排序,使用order by来实现。
order by id asc,表示用id升序排列
order by id desc,表示用id降序排列
当需要用多个字段排序时,order by cdate desc,id asc,表示先用cdate降序排列,cdate相同的再用id升序排列
分享标题:mysql怎么过排序 mysql的排序语句
转载注明:http://hbruida.cn/article/doehocd.html