如何在 MySQL 中按两个列中的最高值排序?
我们首先创建一个表 -
mysql> create table DemoTable834( Value1 int, Value2 int ); Query OK, 0 rows affected (1.50 sec)
使用 insert 命令在表中插入一些记录 -
mysql> insert into DemoTable834 values(10,20); Query OK, 1 row affected (0.11 sec) mysql> insert into DemoTable834 values(40,50); Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTable834 values(20,24); Query OK, 1 row affected (0.29 sec) mysql> insert into DemoTable834 values(30,10); Query OK, 1 row affected (0.14 sec)
使用 select 语句显示表中的所有记录 -
mysql> select *from DemoTable834;
这将生成以下输出 -
+--------+--------+ | Value1 | Value2 | +--------+--------+ | 10 | 20 | | 40 | 50 | | 20 | 24 | | 30 | 10 | +--------+--------+ 4 rows in set (0.00 sec)
以下是对两个列使用 GREATEST() 按最高值排序的查询 -
mysql> select *from DemoTable834 order by greatest(Value1,Value2) DESC;
这将生成以下输出 -
+--------+--------+ | Value1 | Value2 | +--------+--------+ | 40 | 50 | | 30 | 10 | | 20 | 24 | | 10 | 20 | +--------+--------+ 4 rows in set (0.00 sec)
广告