Ho una vista che elenca data, customerID, orderID e orderCost. Come seleziono il cliente massimo di spesa al mese? I dati si estende solo un periodo di sei mesi nel 2015.Come selezionare il numero massimo di clienti al mese
sono in grado di ottenere la somma speso da ciascun cliente ogni mese, ma non il massimo spesa dei clienti con:
SELECT EXTRACT(YEAR FROM date) AS year, MONTHNAME(date) AS month, customerID, SUM(orderCost)
FROM CustomerPricedOrder
GROUP BY MONTH(date), customerID;
* dove è CustomerPricedOrder una vista che prende i dati da una tabella dal titolo CustomerOrder
Come posso trovare il cliente massimo di spesa al mese con una procedura memorizzata? Ho bisogno di un cursore?
Un esempio di output ho bisogno quando chiamo la procedura:
- l'anno ........ mese ......... customerID
- 2015 ... ..... Gennaio ....... 4
- 2015 ........ Febbraio ...... 21
- 2015 ........ Marzo ... ...... 6
- 2015 ........ Aprile ......... 11
dove customerID è il cliente di spesa più alto di quel mese.
Questo è un problema ben noto, vedere il tag http://stackoverflow.com/questions/tagged/greatest-n-per-group –