我必須每週從Customer
(客戶名稱,ID)和order
(訂單ID,訂單金額,訂單日期)中找到3位消費最高的客戶。如果我今天運行查詢,它應該顯示訂單日期存在的所有星期的前3位。如何在SQL中每週對結果進行分區?
我正在考慮在日期(每週)做一個Partition by
,但我找不到任何方法來做到這一點?有沒有人做過每週分區的結果?
我知道這是不對的,但是這是我有:
Select Top 3 customer_name, id OVER (partition by [week])
(
Select c.customer_name, c.id, o.order_amt,
from customer c
Join Order o
on c.id=o.id
group by c.id
)
選擇一個數據庫:'MySQL的= SQL-server'和這個問題的一個答案可能是顯著不同,以一個答案另一個。 –