Как мне сделать запрос, чтобы сравнить топ-клиента за 2 квартала?
У меня есть набор данных (база данных AdventureWorks) с такими полями, как "totalDue, CustomerID, OrderDate, OrderNumber". Я должен показать топ-клиента и общую сумму, которую он потратил за любой 2-квартальный период с 3-х лет (с 01.07.2005 по 31.07.2008), доступных в данных. Нам сказали, что это может быть диапазон любого периода в 9 месяцев подряд, но как и каждый год. И, возможно, лучший способ сделать это-с помощью "Over BY Partition function".
Я перепробовал множество способов, но не получил правильного ответа.
То, что я пробовал до сих пор, не дает мне правильного ответа. Ответ должен быть таким CustomerID: 29641 И мы также должны показать общую сумму, потраченную этим клиентом, но нам не дали эту часть ответа.
Может ли кто-нибудь дать мне представление об этой проблеме, пожалуйста?
Что я уже пробовал:
select top 1 CustomerID, Sum(TotalDue) Over (Partition By dateadd(qq, 3, OrderDate)) as TotalSpent From Sales.SalesOrderHeader
Afzaal Ahmad Zeeshan
Откуда мы знаем, что идентификатор клиента должен быть именно таким, мы понятия не имеем, как структурированы ваши таблицы.
Кроме того, чтобы также получить общую потраченную сумму, просто добавьте ее в качестве запроса столбца (например, SUM(amount_spent). Но помните, что для агрегатных функций вам также нужно использовать группировку в SQL.