2/7 SELECT语句:排序(ORDER BY)
序号 | 说明 | 操作 |
---|---|---|
1 | 排序数据 |
ORDER BY
|
2 | 按多个列排序 |
用, 分隔
|
3 | 指定排序方向 |
降序:DESC 或 升序(默认):ASC
|
4 |
ORDER BY 结合LIMIT
|
顺序:FROM —ORDER BY —LIMIT
|
以下为数据库SQLTEST
中的三张表,其结构和内容如下:
1.排序数据
ORDER BY
子句取一个或多个列的名字,据此对输出进行排序。
mysql> SELECT Stu_id, Lesson_id-> FROM t_score-> ORDER BY Lesson_id;
+--------+-----------+
| Stu_id | Lesson_id |
+--------+-----------+
| 1 | L001 |
| 2 | L001 |
| 1 | L002 |
| 3 | L003 |
| 2 | L004 |
| 4 | L005 |
+--------+-----------+
通过非选择列进行排序是完全合法的。
mysql> SELECT Stu_id,Score-> FROM t_score-> ORDER BY Lesson_id;
+--------+-------+
| Stu_id | Score |
+--------+-------+
| 1 | 90 |
| 2 | 84 |
| 1 | 86 |
| 3 | 85 |
| 2 | 75 |
| 4 | 98 |
+--------+-------+
2.按多个列排序
只要指定列名,列名之间用逗号分开即可;
多个列排序时,排序完全按照所规定的的顺序进行。仅在多个行具有相同的Lesson_id
值时才对分数按Score
进行排序;如果Lesson_id
列中所有的值是唯一的,则不会按Score
排序。
mysql> SELECT Stu_id,Lesson_id,Score-> FROM t_score-> ORDER BY Lesson_id,Score;
+--------+-----------+-------+
| Stu_id | Lesson_id | Score |
+--------+-----------+-------+
| 2 | L001 | 84 |
| 1 | L001 | 90 |
| 1 | L002 | 86 |
| 3 | L003 | 85 |
| 2 | L004 | 75 |
| 4 | L005 | 98 |
+--------+-----------+-------+
3.指定排序方向
数据排序不限于升序排序(从A到Z),这只是默认的排序顺序。还可以使用
ORDER BY
子句以降序(从Z到A)顺序排序;
为了进行降序排序,必须指定DESC
关键字。
mysql> SELECT Stu_id,Lesson_id,Score-> FROM t_score-> ORDER BY Score DESC;
+--------+-----------+-------+
| Stu_id | Lesson_id | Score |
+--------+-----------+-------+
| 4 | L005 | 98 |
| 1 | L001 | 90 |
| 1 | L002 | 86 |
| 3 | L003 | 85 |
| 2 | L001 | 84 |
| 2 | L004 | 75 |
+--------+-----------+-------+
对多个列进行降序排序:如果想在多个列上进行降序排序,必须对每个列指定
DESC
关键字;
依据Lesson_id
值进行降序,再依据Score
值进行默认(升序)排序。
mysql> SELECT Stu_id,Lesson_id,Score-> FROM t_score-> ORDER BY Lesson_id DESC,Score;
+--------+-----------+-------+
| Stu_id | Lesson_id | Score |
+--------+-----------+-------+
| 4 | L005 | 98 |
| 2 | L004 | 75 |
| 3 | L003 | 85 |
| 1 | L002 | 86 |
| 2 | L001 | 84 |
| 1 | L001 | 90 |
+--------+-----------+-------+
4.ORDER BY
结合LIMIT
ORDER BY
子句的位置:FROM—ORDER BY—LIMIT;
找出成绩最高的学生。
mysql> SELECT Stu_id,Lesson_id,Score-> FROM t_score-> ORDER BY Score DESC-> LIMIT 1;
+--------+-----------+-------+
| Stu_id | Lesson_id | Score |
+--------+-----------+-------+
| 4 | L005 | 98 |
+--------+-----------+-------+
2/7 SELECT语句:排序(ORDER BY)相关推荐
- MySQL使用SELECT 语句不加ORDER BY默认是如何排序的?
大家好,我是阿飞云 怕什么真理无穷,进一步有近一步的欢喜 记录一个MySQL查询排序的问题,一个SQL语句没有加order by,那么查询出来的结果到底是按照什么规则排序的呢?查询了网上的一些资料,分 ...
- MySQL也有潜规则 – Select 语句不加 Order By 如何排序?
今天遇到一个问题,有一个 Select 语句没有加 "Order By",返回的数据是不确定的. 这种问题碰到不止几次了.追根寻底, Select 语句如果不加 "Ord ...
- mysql 两个select结果_MySQL UNION连接两个以上的SELECT语句的结果组合到一个结果集合...
在MySQL中,UNION 操作符用于把来自多个 SELECT 语句的结果组合到一个结果集合中. 语法格式:SELECT ... UNION [ALL | DISTINCT] SELECT ... [ ...
- Oracle数据库:排序order by语句,select from where order by的执行先后顺序,各种样例
Oracle数据库:排序order by语句,select from where order by的执行先后顺序,各种样例 2022找工作是学历.能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多 ...
- 【4 - 分组】Sql Server - 郝斌(分组group by、过滤having、聚合函数max() / count()、排序order by、select语句的执行顺序)
课程地址:数据库 SQLServer 视频教程全集(99P)| 22 小时从入门到精通_哔哩哔哩_bilibili 目录 group by(分组) group by a,b 的用法 having( ...
- MySQL数据库select语句6大子句(from、where、group by、having、order by 、limit )#经典员工、部门表案例语句练手!
MySQL中的select语句,有说5大子句,有说6大子句的,两者都没有问题,只不过把from接表名算上一个子句,where是条件查询,group by是分组查询,having是筛选,order ...
- MySql基础篇---002 SQL之SELECT使用篇: 基本的SELECT语句,运算符,排序与分页,多表查询,单行函数,聚合函数,子查询
第03章_基本的SELECT语句 讲师:尚硅谷-宋红康(江湖人称:康师傅) 官网:http://www.atguigu.com 1. SQL概述 1.1 SQL背景知识 1946 年,世界上第一台电脑 ...
- mysql怎么排序检索_MySQL 2 SQL数据使用(检索、排序、过滤:SELECT/FROM/LIMIT/ORDER BY/DESC/WHERE/AND/OR/IN/NOT)...
.空格被忽略,可以用一或多个空格分开指令. 检索单个列: SELECT 列名 FROM 表名: 检索多个列: 当心逗号 SELECT 列1,列2,列3 FROM 表: 检索所有列:(*)通配符 S ...
- pivot 用order by 语句排序时,老是超时的解决办法,超Easy
pivot是用来把某列字段转成行字段,可能我描述不太清楚,这个用过的都知道的啦,所以我也不费口水了,切入正题. 我之前用pivot建了个视图View1,然后我有一个sql语句,如下(一直都运行得好好的 ...
- 学习 SQL 语句 - Select(4): 排序
Order By Asc|Desc 本例效果图: 代码文件: unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classe ...
最新文章
- ubuntu lamp配置多域名服务器
- Linux 查看Pyhont的解释器大小
- “CSDN 2021年度IT技术影响力之星评选”正式开启报名!
- python入坑指南_Rust入坑指南:万物初始
- python—高阶函数
- 2019最新python面试题详解(应届生)
- 华为云开天aPaaS 上线,服务千万开发者,使能行业场景化创新
- iconfont阿里矢量图标库的引入与使用
- 3mx转osgb_如何将无人机Las点云数据转为Osgb数据
- python安装numpy库出错_numpy安装失败-小失误
- Lattice Diamond 学习总结---“疑难杂症”杂篇
- 飞鸽传书 linux,飞鸽传书Linux版
- 如何获得哔哩哔哩上下载的教学视频在电脑上看?(bilibili音频视频分离)
- java 某字段重复的数据库,excel表格两个字段去重复的数据库【用JAVA程序向SQL数据库导入Excel表,判断出SQL表中已存在的重复数据,并跳过重复的继续导入其他记录.】...
- 如何成为一个精力充沛的程序员——掌控
- 《博客女王干群皇太后名人世界》中国最著名博客女王干群原创作品编号2012100706
- 微信小程序开发|宿主环境详解
- 从李兴平到翔子 “草根站长”的简单化生存规则!
- ORACLE EBS常用表及查询语句(二)
- JDP-[单例模式]-思路梳理
热门文章
- mysql链路跟踪工具_SkyWalking全链路追踪利器
- 计算机安全性无效无法连接到网络,图文研习windows10系统连接网络提示无法连接到此网络错误的方法?...
- Oracle里PO自动售货如何做,Oracle R12采办接收流程(PR-PO-RCV-AP-Payment)
- java VM argument_java vm args
- 随机数是真是假你说了算???
- 比较两个日期大小和获取当前月最大天数的存储过程
- python oop 继承_oop-在Python中继承方法的文档字符串
- 禁止和恢复WIN7驱动强制签名
- java中常用的几种排序算法--常见笔试面试
- 特征分解与奇异值分解