美文网首页MySql学习笔记
MySQL学习:排序查询

MySQL学习:排序查询

作者: Alui | 来源:发表于2024-05-13 17:49 被阅读0次

基本语句

  • asc 代表的是升序,desc 代表的是降序,不写默认是升序
  • order by 子句可以支持字段、别名、表达式、函数、多个字段
  • order by 子句在查询语句的最后面
SELECT 查询字段 FROM 表名 WHERE  筛选条件 ORDER BY 排序的字段 DESC

示例

  • 以下是示例表与示例数据
-- ----------------------------
-- Table structure for `tb_student`
-- ----------------------------

CREATE TABLE `tb_student` (
  `stuNo` bigint(11) NOT NULL AUTO_INCREMENT COMMENT '学号',
  `name` varchar(50) NOT NULL COMMENT '姓名',
  `password` varchar(200) NOT NULL COMMENT '密码',
  `idCard` varchar(18) DEFAULT NULL COMMENT '身份证',
  `sex` char(2) DEFAULT NULL COMMENT '性别',
  `education` varchar(8) DEFAULT NULL COMMENT '学历  0:专科 1:本科 2:硕士 3:博士',
  `schoolId` int(100) DEFAULT NULL COMMENT '毕业学校',
  `professional` varchar(100) DEFAULT NULL COMMENT '专业',
  `acceptanceDate` date DEFAULT NULL COMMENT '入学日期',
  `birthday` date DEFAULT NULL COMMENT '出生日期',
  `status` varchar(20) DEFAULT NULL COMMENT '状态',
  `tel` varchar(50) DEFAULT NULL COMMENT '联系电话号码',
  `secondTel` varchar(50) DEFAULT NULL COMMENT '第二联系电话号码',
  `qq` varchar(20) DEFAULT NULL COMMENT 'QQ',
  `email` varchar(100) DEFAULT NULL COMMENT '邮箱',
  `address` varchar(200) DEFAULT NULL COMMENT '地址',
  `classId` int(11) DEFAULT NULL COMMENT '班级编号',
  `isAdmin` int(11) DEFAULT '0' COMMENT '是否是管理员 0:表示学生  1:管理员 0:学生',
  `photoPath` varchar(200) DEFAULT NULL COMMENT '头像文件名',
  PRIMARY KEY (`stuNo`)
) ENGINE=InnoDB AUTO_INCREMENT=910513201430 DEFAULT CHARSET=utf8 COMMENT='学生表';

-- ----------------------------
-- Records of tb_student
-- ----------------------------

INSERT INTO `tb_student` VALUES ('910513201419', '邹智', '123456', '430181198612113330', '男', '1', '1', '数学', '2013-09-05', '1994-08-16', '在读', '15211141999', null, null, null, null, '1', '0', null);
INSERT INTO `tb_student` VALUES ('910513201420', '王小艺', '123456', '430181198612113331', '女', '3', '1', '数学', '2020-09-05', '2020-06-17', '在读 ', '15111141991', null, null, null, null, '1', '0', null);
INSERT INTO `tb_student` VALUES ('910513201421', '买买提', '123456', '430181198612113332', '男', '3', '2', '计算机', '2020-09-05', '2020-02-11', '在读 ', '15111141992', null, null, null, null, '2', '0', null);
INSERT INTO `tb_student` VALUES ('910513201422', '万科', '123456', '430181198612113333', '男', '3', '2', '软件', '2020-09-05', '2019-08-12', '在读 ', '15111131999', null, null, null, null, '1', '0', null);
INSERT INTO `tb_student` VALUES ('910513201423', '褒科一', '123456', '430181198612113334', '男', '3', '3', '设计', '2020-09-05', '2021-08-22', '在读 ', '15111141999', null, null, null, null, '2', '0', null);
INSERT INTO `tb_student` VALUES ('910513201424', '张柏浩', '123456', '430181198612113335', '男', '3', '3', '影视', '2020-09-05', '2020-02-21', '在读 ', '15111151999', null, null, null, null, '1', '0', null);
INSERT INTO `tb_student` VALUES ('910513201425', '李成刚', '123456', '430181198612113336', '男', '3', '2', '影视', '2020-09-05', '2020-12-26', '在读 ', '15111161999', null, null, null, null, '3', '0', null);
INSERT INTO `tb_student` VALUES ('910513201426', '左冷禅', '123456', '430181198612113337', '男', '3', '4', '设计', '2020-09-05', '2020-03-16', '在读 ', '15111171999', null, null, null, null, '4', '0', null);
INSERT INTO `tb_student` VALUES ('910513201427', '令狐冲', '123456', '430181198612113338', '男', '3', '5', '软件开发', '2020-09-05', '2020-08-16', '在读 ', '15181141999', null, null, null, null, '1', '0', null);
INSERT INTO `tb_student` VALUES ('910513201428', '赵灵儿', '123456', '430181198612113339', '女', '3', '6', '软件', '2020-09-05', '2021-08-25', '在读 ', '15111191999', null, null, null, null, '5', '0', null);
INSERT INTO `tb_student` VALUES ('910513201429', '刘国梁', '123456', '430181198612113310', '男', '3', '2', '化工', '2020-09-05', '2020-07-06', '在读 ', '15111101999', null, null, null, null, '1', '0', null);

  • 案例一:按学生出生日期降序排序
SELECT stuNo as '学号',`name` as '姓名',birthday as '出生日期',`status` as '在校状态' FROM tb_student WHERE isAdmin = '0' ORDER BY birthday DESC
  • 输出结果


    输出结果
  • 案例二:按名字长度降序,再按学号升序

SELECT `name` as '姓名', stuNo as '入学日期' FROM tb_student order by length(`name`) DESC, stuNo ASC;
  • 输出结果


    输出结果

相关文章

  • 高性能的索引策略

    MySQL查询基础-查询执行过程 MySQL聚簇索引 MySQL覆盖索引 MySQL索引扫描排序 MySQL冗余和...

  • mysql查询保持in的顺序

    目的:解决mysql的in语法查询顺序问题 mysql数据库总,使用in语句查询,查询结果默认会根据主键id排序。...

  • mysql文章汇集

    解决MySQL子查询排序失效的问题Mysql不支持FULL JOIN怎么办?

  • MySql查询-排序

    为了方便查看数据,可以对数据进行排序 语法: 说明 将行数据按照列1进行排序,如果某些行列1的值相同时,则按照列2...

  • mysql排序查询

    进阶3:排序查询 /*语法:select 查询列表from 表名【where 筛选条件】order by 排序的...

  • MongoDB查询结果排序 --- 2022-04-03

    本章介绍,MongoDB查询结果排序,类似MYSQL order by的用法,MongoDB的分页查询通过Curs...

  • 05-Mysql数据库02

    mysql数据查询 条件查询 模糊查询 范围查询 判断空 排序 聚合函数 分组 分组要和聚合一起用 分页 连接查询...

  • 4/29day44_MySql查询&约束&多表

    回顾 MySQL查询&约束&多表 今日目标 一 DQL高级查询 准备数据 1.1 排序 1.2 聚合函数 作用:对...

  • MySQL(二)MySQL索引原理

    1. 索引类型 索引可以提升查询速度,会影响where查询,以及order by排序。MySQL索引类型如下: 从...

  • MySQL 使用 order by field 自定义排序

    MySQL 查询时,如果不带 order by,会根据主键来排序,从小到大返回查询结果; 带 order by 时...

网友评论

    本文标题:MySQL学习:排序查询

    本文链接:https://www.haomeiwen.com/subject/juvpfjtx.html