表の例:
テーブル名:Ex1
Number
2
5
6
7
1
5
10
SQLでALLまたはANYを使用して最小値を見つける方法は?
可能であれば、どのデータベースでこれを実行したいか、もう少し答えを説明する質問を書き直す必要があると思います。
MIN関数を使用する代わりに、なぜそれを実行したいのかわかりません。
Oracleではこれを行うことができます
select * from ex1 where number <= ANY (select number from ex1 where rownum=1 order by number asc)
ただし、これは次と同じ結果になります。
select * from ex1 where rownum=1 order by number asc
これを行うこともできます:
select * from ex1 where number <= ALL (select number from ex1)
詳細については、こちらをご覧ください。
ANYを使用してSQLサーバーインスタンスを混乱させるリスクがあります(ALLの方が良いでしょう)。
select number
from ex1
where number not in
(select number from ex1 where number > any (select number from ex1))
今は汚いです。
使用するALL
SELECT *
FROM Ex1
WHERE Number <= ALL ( SELECT Number FROM Ex1 AS T2 );
使用するANY
SELECT *
FROM Ex1
WHERE NOT Number > ANY ( SELECT Number FROM Ex1 AS T2 );