Могу ли я использовать ВСЕ или ЛЮБОЙ, чтобы найти минимальное значение в SQL? - PullRequest
0 голосов
/ 16 марта 2012

Пример таблицы:

Имя таблицы: Ex1

Number
2
5
6
7
1
5
10

Как найти минимальное значение, используя ALL или ANY в SQL?

Ответы [ 3 ]

1 голос
/ 16 марта 2012

Я считаю, что вы должны переписать свой вопрос, описав немного больше вашего ответа, если это возможно, в какой базе данных вы хотели бы сделать это.

Я не знаю, почему вы хотели бы сделать это вместо использования функции 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)

Вы можете найти больше информации здесь .

0 голосов
/ 19 марта 2012

Использование 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 );
0 голосов
/ 16 марта 2012

С риском расстроить мой экземпляр SQL-сервера, используя ЛЮБОЙ (ВСЕ было бы лучше),

select number 
from ex1 
where number not in 
    (select number from ex1 where number > any (select number from ex1))

Теперь я чувствую себя грязным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...