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

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

mysql> create table DemoTable
-> (
-> Num1 int,
-> Num2 int
-> );

使用插入命令在表中插入一些记录-

mysql> insert into DemoTable values(60,249);

mysql> insert into DemoTable values(59,250);

使用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)