2016-10-26 2 views
0

Я хотел бы выбрать все строки с наивысшим числом, которое в этом случае равно 293. Тем не менее, это может быть любое число, поскольку я этого не знаю. Таким образом, простое предложение не будет достаточным. Я уже пробовал что-то с MAX(), но это заняло только 1 строку, хотя мне все они нужны. Может кто-нибудь мне помочь?Найти все самые высокие значения столбца в таблице SQL

ID  NUMBER 
1  293 
2  293 
3  293 
4  148 
5  96 
+0

Пожалуйста, помечать вопрос с базой данных, которую вы используете. –

ответ

4

Это очень простой:

SELECT * 
FROM YourTable 
WHERE NUMBER = (SELECT MAX(NUMBER) FROM YourTable); 
2

Типичный способ заключается в использовании окна функции:

select id, number 
from (select t.*, max(number) over() as maxn 
     from t 
    ) t 
where number = maxn;