1

列の最大ペアに基づいて行を選択するクエリが必要です。次の表で、最高の VALUE1 を持つ行と、この最初の結果セットで最高の VALUE2 を持つ行をどのように選択しますか?

+----+---------+---------+
| ID | VALUE1  | VALUE2  |
+----+---------+---------+
|  1 |       1 |       1 |
|  2 |       2 |       1 |
|  3 |       5 |       4 |
|  4 |       4 |       1 |
|  5 |       4 |       3 |
|  6 |       4 |       5 |
|  7 |       5 |       1 |
|  8 |       4 |       2 |
|  9 |       4 |       6 |
| 10 |       4 |       8 |
| 11 |       5 |       3 |

この場合、ID = 3 の行が返されます。

4

2 に答える 2

8
SELECT * FROM tableName ORDER BY Value1 DESC, Value2 DESC LIMIT 1
于 2013-10-08T09:33:48.563 に答える
0

ここでは制限が最適なオプションですが、それでも他の方法が必要な場合は、サブクエリを使用できます

SELECT * FROM tableName  where (Value1 + Value2) = (select max((Value1 + Value2))
from tableName) 
于 2013-10-08T10:18:29.087 に答える