SQL-запрос для получения третьей по величине продажи сгруппированы по продажам

0

Получить третью самую высокую сумму продаж из таблицы (группа по сумме продажи) в 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'
  • 0
    Вы должны начать с дубликата ссылки, попробовать запрос, а затем, если вы застряли, вернитесь сюда за помощью.
  • 0
    Пометьте свой вопрос базой данных, которую вы используете. MySQL не согласуется с примером кода.
Теги:

2 ответа

1

SELECT * FROM 'sale_amnt' ORDER BY 'sale_Amnt' DESC LIMIT 2,1
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
                      );
  • 0
    это именно то, на что я смотрел
  • 0
    Этот запрос выполняется на сервере MySQL?
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню