Ich habe die drei höchsten Ausgaben Kunden von Customer
(Kundennamen, id) und order
(Bestell-ID, um amt, Bestelldatum) für jede Woche zu finden. Wenn ich die Abfrage heute ausführe, sollte sie die obersten 3 für alle Wochen anzeigen, für die das Bestelldatum existiert.Wie partitionieren Sie Ergebnisse wöchentlich in SQL?
Ich denke an ein Partition by
über das Datum (wöchentlich) zu tun, aber ich kann keine Methode finden, das zu tun? Hat jemand eine wöchentliche Aufteilung der Ergebnisse vorgenommen?
Ich weiß, es ist nicht richtig, aber das ist, was ich habe:
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
)
eine Datenbank Auswahl: 'mysql = SQL-server' und für diese Frage eine Antwort auf eine könnte zu einer Antwort signifikant unterschiedlich sein das andere. –