У меня есть 3 очевидных стола, продавцов, заказов и клиентов. В таблице заказов у меня есть список всех заказов и SalesPersonID.Найти вторую по величине продажу продавца SQL
Я хочу найти каждого продавца с более чем 2 заказами и найти стоимость заказа для второго по величине заказа. Я могу выполнить этот запрос, если меня попросят найти значение порядка MAX, но я не могу найти простой способ сделать это для второго наивысшего значения.
Newbie здесь, поэтому, пожалуйста, пройдите легко. Заранее спасибо.
Я пробовал свои мозги, читая о ROW_Number и Rank за последние 3 часа, но не могу понять это. И я уверен, есть более простой способ, чем писать мои собственные пользовательские функции
Select distinct
Orders.SalesID, MAX(Orders.OrderAmount), SalesPerson.SalesName
From
Orders, SalesPerson
Where
Orders.SalesID = SalesPerson.SalesID
Group by
Orders.SalesID, SalesPerson.SalesName
Order by
MAX(Orders.OrderAmount) DESC
[Вредные привычки пинать: использование старого стиля JOIN и] (http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/bad-habits-to-kick-using-old -style-joins.aspx) - стиль старого стиля * разделенный запятыми список таблиц * был заменен на * правильный * ANSI 'JOIN' синтаксис в ANSI - ** 92 ** SQL Standard (** более 20 лет ** назад), и его использование не рекомендуется –