Выберите второе, третье, четвертое, пятое, наибольшее число

У меня есть вопрос о том, как выбрать второе, третье, четвертое и пятое по величине число в таблице. Чтобы выбрать самую большую строку, которую я использую:

$max = SELECT max(money) FROM table

Щас хочу уточнить $second_max, $third_max, $fourth_max а также $fifth_max,

Кто-нибудь знает, как изменить мой предыдущий SQL select max() легко указать второй максимум, третий максимум и т. д.

Я не хочу использовать:

select money from table order by money desc limit 5;

Потому что я хочу их всех в разных переменных.

0

Решение

select money from table order by money desc LIMIT 5

0

Другие решения

Вероятно, самый простой способ — разместить их в отдельных строках:

select t.money
from table t
group by t.money
order by money desc
limit 5;

The next easiest thing is to put them in a comma-separated list:

select group_concat(money order by money desc) as monies
from (select t.money
from table t
group by t.money
order by money desc
limit 5
) T
0

Просто это:

SELECT money
FROM yourtable
ORDER BY money DESC
LIMIT 5

Вы получите набор результатов с 5 записями, упорядоченный по верхним значениям денег — при условии, что у вас на самом деле есть 5+ записей в таблице.

0

ИСПОЛЬЗОВАТЬ SQL

select money from table order by money desc limit 5;

Пять строк представлены как max, вторичные, … стоимость денег.

0

В ORACLE вы можете сделать следующее:

SELECT *
FROM (
SELECT ADRESSID,
ROW_NUMBER() OVER (ORDER BY ADRESSID DESC) AS ROW_NUM
FROM ADRESSTABLE
) t
WHERE ROW_NUM = 1
OR ROW_NUM = 3
OR ROW_NUM = 5;
0
По вопросам рекламы [email protected]