如何在 MySQL 中对选择查询获得的结果进行排序?
2023-09-11 14:18:27 时间
通常从表中选择某些数据或行。行按它们在表中出现的顺序返回。我们有时可能会要求从表中选择的行必须相对于某些列按升序或降序返回给我们。
“ORDER BY”语句用于对某些列的结果进行排序。以下示例将提供更清晰的说明。
假设,我们有一个由各种字段组成的表,包括“名称”字段。我们希望从表中选择所有行,但我们希望行必须按名称的字母顺序排序。这就是“ORDER BY”语句发挥作用的地方。这种情况要求我们按“名称”字段的升序对结果进行排序。
默认情况下,“ORDER BY”语句按升序对指定的列进行排序。如果希望结果按降序排序,则需要指定相同的顺序。要按降序排列结果,应指定关键字“DESC”。
语法
升序
SELECT * FROM table_name ORDER BY column_name
降序
SELECT * FROM table_name ORDER BY column_name DESC
使用python中的MySQL对从表中检索的数据进行排序的步骤
-
导入 MySQL 连接器
-
使用 connect() 与连接器建立连接
-
使用 cursor() 方法创建游标对象
-
使用适当的 MySQL 语句创建查询
-
使用 execute() 方法执行 SQL 查询
-
关闭连接
假设我们有一个名为“学生”的表,如下所示 -
+----------+---------+-----------+------------+ | Name | Class | City | Marks | +----------+---------+-----------+------------+ | Karan | 4 | Amritsar | 95 | | Sahil | 6 | Amritsar | 93 | | Kriti | 3 | Batala | 88 | | Khushi | 9 | Delhi | 90 | | Kirat | 5 | Delhi | 85 | +----------+---------+-----------+------------+
例
我们希望从表中选择所有行,但按其名称的字母顺序排列。简而言之,我们希望按名称升序对结果进行排序。
import mysql.connector db=mysql.connector.connect(host="your host", user="your username", password="your password",database="database_name") cursor=db.cursor() query= "SELECT * FROM Students ORDER BY Name" cursor.execute(query) for row in cursor: print(row)
上面的代码在成功执行时,会按学生姓名的升序或字母顺序返回行。
输出
(‘Amit’ , 9 , ‘Delhi’ , 90) (‘Karan’, 4 ,’Amritsar’ , 95) (‘Kriti’ , 3 , ‘Batala’ ,88) (‘Priya’ , 5 , ‘Delhi’ ,85) (‘Sahil’ , 6 , ‘Amritsar’ ,93)
显示的所有行均按名称的字母顺序排列。类似地,行可以按照类似语法按照标记的升序或降序排列。
相关文章
- mysql分组统计按照字段排序方法(分组之后保留最新时间、最大id...)
- MySQL如何利用索引优化ORDER BY排序语句
- 【MySQL】double write 浅析
- 【MySQL】常见的mysql 进程state
- 【MySql】mysql 数据库数据订正
- 【MySql】mysql 表的常规管理
- Linux - mysql 异常: ERROR! MySQL is not running, but lock file (/var/lock/subsys/mysql) exists
- Mybatis+mysql动态分页查询数据案例——Mybatis的配置文件(mybatis-config.xml)
- MySql排序性能对比
- MySQL选择数据库use与mysql_select_db使用详解
- php分享(三十六)mysql中关联表更新
- MySQL数据库排序选择的作用和该如何选择编码格式
- 阿里云vps上mysql挂掉的解决办法
- MySQL内核月报 2014.08-MariaDB·分支特性·FusionIO特性支持
- MySQL运维---高可用架构MHA
- MYSQL避免全表扫描__如何查看sql查询是否用到索引(mysql)
- [转]2006 MySQL server has gone away错误,最大值溢出解决办法 mysql max_allowed_packet 查询和修改
- mysql中文排序(按照中文拼音顺序排序)
- mysql主从demo配置
- error: 'Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)'
- Mysql连接报错:1130-host ... is not allowed to connect to this MySql server如何处理
- mysql事务 mysql事务回滚 MySQL事务死锁 如何解除死锁 资金出入账
- 000-mysql小技巧
- [MySQL] 解决办法: Error: Transaction test error: file /etc/my.cnf from install of mysql-community-server
- 安全测试===Mysql 注入技巧学习 MySQL注入技巧(2)
- mysql_22 _ MySQL有哪些“饮鸩止渴”提高性能的方法?
- 如何实现MySQL表数据随机读取?从mysql表中读取随机数据
- Mysql-Proxy代理配置
- Mysql中求出生日
- Mysql InnoDB 索引结构
- MySQL安装后第一次修改密码
- zabbix使用percona插件监控mysql数据库(十九)