0

私は次のようなテーブルを持っています:

| ID | value |
|  0 |   5   |
|  1 |   2   |
|  0 |   1   |
|  1 |   6   |
|  2 |   3   |
|  2 |   8   |
|  1 |   2   |
|  0 |   1   |
|  2 |   4   |

私は、値がすべての列の最小値である id の 1 つの行のみを結果に取り込もうとしています。

SELECT DISTINCT * FROM table WHERE MIN(table.value) = table.value

どうすれば解決できますか?ありがとう!

編集:

私の望ましい出力は次のとおりです。

| ID | value |
|  0 |   1   | -> is the min of all the rows with id = 0
|  1 |   2   |
|  2 |   3   |

編集2:

何かのようなもの:

SELECT DISTINCT *
FROM tableName AS A
WHERE value = (SELECT MIN(value) From tableName AS B WHERE A.ID=B.ID)

しかし、tableNameは(SELECT * FROM ...........)..どうすれば実行できますか?

4

3 に答える 3

1
SELECT DISTINCT ID, Value
FROM tableName
WHERE value = (SELECT MIN(value) From tableName)

SQLFiddle デモ

フォローアップの質問です。同じ最低値valueが異なるID場合はどうなりますか?どのような記録が表示されますか?

于 2012-10-12T00:42:18.327 に答える
0

これはあなたが望むものです

select id,min(value) from tableName group by id
于 2012-10-12T02:50:24.067 に答える