mysql查询数据时,如何使用排序操作?

mysql数据排序

在查询数据时,如果没有使用排序操作,默认情况下SQL会按数据添加的顺序来排列查询结果。

要对数据进行排序,需要在select语句后边加上order by 以及排序依据。

▲ 按照排序依据排序可以分为:按照列名排序、列的别名排序、列的编号排序。

▲ 按照顺序升降可以分为:升序排列(由小到大)和降序排列(由大到小),升序排列在排序依据后边加ASC(asc可以省略)、降序排列在排序依据后边加DESC(DESC不能省略),也就是默认情况下是按照升序排列的。

▲ 按照列的多少可以分为:单列排序、多列排序。

现有学生表如下图:

按照年龄由小到大对学生进行排序(单列排序)。

按照列名排序

select * from student order by sage asc;

按照列的编号排序

select * from student order by 4 asc;

按照列的别名排序

select sno 学号,sname 姓名,sage as 年龄,ssex as 性别 from student order by 年龄 asc;

先按照性别由男到女排,再按照年龄由大到小排(多列排序)。

select sno 学号,sname 姓名,sage as 年龄,ssex as 性别 from student order by 性别 desc,年龄 desc;

先按照年龄由大到小排列,再按照性别由女到男排列(多列排序)。

按照列名排序

select sno 学号,sname 姓名,sage as 年龄,ssex as 性别 from student order by sage desc,ssex asc;

按照列的编号排序

select sno 学号,sname 姓名,sage as 年龄,ssex as 性别 from student order by 3 desc,4 asc;

按照列的别名排序

select sno 学号,sname 姓名,sage as 年龄,ssex as 性别 from student order by 年龄 desc,性别 asc;

需要注意按照多列排序时,哪列在前哪列在后排出来结果是完全不同的,所以多列排序一定要注意列的顺序。按照列的别名排序时,必须先给列起别名。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 数据库概念 实体:客观存在并且相互区别的事物。比如:职工、学生、部门、一门课,学生的一次选课、部门的一次订货、教师...
    Drama_Du阅读 3,843评论 0 0
  • DML语句 insert使用 先建一个表 insert 语法插入单行INSERT [INTO] <表名> [列名...
    I踏雪寻梅阅读 3,514评论 0 1
  • 数据查询 查询表中的若干列SELECT Sno,SnameFROM Student;#查询所有列SELECT *F...
    棕色试剂瓶阅读 3,499评论 0 0
  • ,总结出常用指令,写给那些一些刚入行的朋友,之后会持续更新,关于Python学习的基础知识点 数据库管理系统(Da...
    小小强123456阅读 3,440评论 0 1
  • 单表查询 只在一个表中查询数据 多表查询 同时查询多个表 说明:这是在学生表student和成绩表SC中查询成绩大...
    爱撒谎的男孩阅读 4,933评论 0 2

友情链接更多精彩内容