在单个 MySQL 查询中比较两列以获取一行?


为此,你可以使用 ORDER BY 子句。让我们首先创建一个表 −

mysql> create table DemoTable
-> (
-> Num1 int,
-> Num2 int
-> );
Query OK, 0 rows affected (0.61 sec)

使用 insert 命令向表中插入一些记录 −

mysql> insert into DemoTable values(60,249);
Query OK, 1 row affected (0.20 sec)

mysql> insert into DemoTable values(59,250);
Query OK, 1 row affected (0.12 sec)

使用 select 语句从表中显示所有记录 −

mysql> select *from DemoTable;

输出

这将产生以下输出 −

+------+------+
| Num1 | Num2 |
+------+------+
| 60   | 249  |
| 59   | 250  |
+------+------+
2 rows in set (0.00 sec)

以下是查询以比较两个列的最大值并获取一行 −

mysql> select *from DemoTable
-> order by Num2 DESC,Num1 DESC limit 1;

以下是查询以比较两个列的最大值并获取一行 −

mysql> select *from DemoTable
-> order by Num2 DESC,Num1 DESC limit 1;

输出

这将产生以下输出 −

+------+------+
| Num1 | Num2 |
+------+------+
| 59   | 250  |
+------+------+
1 row in set (0.00 sec)

更新于: 30-6-2020

604 次浏览

开启你的 职业生涯

完成教程并获得认证

开始
广告