Получить третью самую высокую сумму продаж из таблицы (группа по сумме продажи) в MySQL
select Top 3 * from t1 group by sale_Amnt
|Id|product_name|product_group |sale_Amnt(INR)
------------------------------------------------
1| p1 | Cosmetic |4485
2| p2 | Cosmetic |8525
3| p3 | Health |12589
4| p4 | Health |8525
5| p5 | Home Appliances|9858
6| p6 | Home Appliances|12589
Ожидаемый результат
|Id|product_name|product_group |sale_Amnt(INR)
------------------------------------------------
2| p2 | Cosmetic |8525
4| p4 | Health |8525'
SELECT * FROM 'sale_amnt' ORDER BY 'sale_Amnt' DESC LIMIT 2,1
Предлагаемый дубликат является непониманием вопроса. Этот вопрос, по-видимому, ищет третье по величине значение в целом, но учитывает дубликаты.
Вы можете получить третью строку с использованием offset
/fetch
в SQL Server:
select t.*
from t
where t.sale_amount = (select t2.sale_amount
from t t2
group by t2.sale_amount
order by t2.sale_amount desc
offset 2 fetch first 1 row only
);
В MySQL это будет:
select t.*
from t
where t.sale_amount = (select t2.sale_amount
from t t2
group by t2.sale_amount
order by t2.sale_amount desc
limit 1 offset 2
);