È utile ottenere i dati sulle vendite dei 3 mesi precedenti per comprendere le tendenze delle vendite, eseguire report e analisi dei dati. Ecco come ottenere i dati sulle vendite degli ultimi 3 mesi in MySQL per la tua azienda/sito web. Vedremo come selezionare i record degli ultimi 3 mesi utilizzando la funzione INTERVAL in MySQL.
Come ottenere i dati sulle vendite degli ultimi 3 mesi in MySQL
Ecco i passaggi per ottenere i dati sulle vendite degli ultimi 3 mesi in MySQL. Supponiamo che tu abbia la seguente tabella vendite(data_ordine, importo) che contiene informazioni sulle vendite giornaliere.
mysql> select order_date,sale from sales; (showing only last few records) +------------+------+ | order_date | sale | +------------+------+ | 2020-01-28 | 230 | | ... | ... | | 2020-05-29 | 300 | | 2020-05-30 | 250 | | 2020-05-31 | 250 | | 2020-06-01 | 250 | | 2020-06-02 | 150 | | 2020-06-03 | 300 | | 2020-06-04 | 200 | | 2020-06-05 | 200 | | 2020-06-06 | 250 | | 2020-06-07 | 150 | | 2020-06-08 | 300 | | 2020-06-09 | 200 | +------------+------+
Bonus Leggi:Come ottenere i record del mese corrente
Ecco la query SQL per ottenere i dati sulle vendite degli ultimi 3 mesi in MySQL, nota anche come vendite a rotazione di 3 mesi. Utilizziamo la funzione INTERVAL() per ottenere i dati sulle vendite degli ultimi 3 mesi.
mysql>select order_date,sale from sales where order_date > now() - INTERVAL 3 MONTH; (showing only last few records) +------------+------+ | order_date | sale | +------------+------+ | 2020-02-09 | 230 | | ... | ... | | 2020-05-29 | 300 | | 2020-05-30 | 250 | | 2020-05-31 | 250 | | 2020-06-01 | 250 | | 2020-06-02 | 150 | | 2020-06-03 | 300 | | 2020-06-04 | 200 | | 2020-06-05 | 200 | | 2020-06-06 | 250 | | 2020-06-07 | 150 | | 2020-06-08 | 300 | | 2020-06-09 | 200 | +------------+------+
Nella query SQL sopra, diciamo a MySQL di ottenere i dati sulle vendite per tutte le date in cui data_ordine rientra nel nostro INTERVALLO specificato, ovvero trascorsi 3 mesi da ADESSO.
Bonus Leggi:Come creare istogramma in MySQL
Poiché mesi diversi hanno un numero di giorni diverso, quando menzioni INTERVAL 3 mesi , MySQL otterrà i dati esattamente lo stesso giorno del mese, prima di 3 mesi. Cioè, se oggi è il 9 giugno, riceverà i dati sulle vendite dal 9 marzo.
Se desideri ottenere i dati sulle vendite degli ultimi 90 giorni, ecco la query SQL per ottenere i dati sulle vendite degli ultimi 90 giorni.
mysql>select order_date,sale from sales where order_date > now() - INTERVAL 90 DAY; (showing only last few records) +------------+------+ | order_date | sale | +------------+------+ | 2020-03-11 | 230 | | ... | ... | | 2020-05-29 | 300 | | 2020-05-30 | 250 | | 2020-05-31 | 250 | | 2020-06-01 | 250 | | 2020-06-02 | 150 | | 2020-06-03 | 300 | | 2020-06-04 | 200 | | 2020-06-05 | 200 | | 2020-06-06 | 250 | | 2020-06-07 | 150 | | 2020-06-08 | 300 | | 2020-06-09 | 200 | +------------+------+
Bonus Leggi:Come calcolare il tasso di conversione in MySQL
Se hai più righe per ogni data_ordine, dovrai aggregare le vendite giornaliere quando ottieni i dati sulle vendite degli ultimi 3 mesi. Ad esempio, se hai una tabella delle vendite, come mostrato di seguito
mysql> select order_date,sale from sales; (showing only last few records) +---------------------+------+ | order_date | sale | +---------------------+------+ | 2020-01-28 09:30:35 | 23 | | 2020-01-28 10:10:00 | 30 | | 2020-01-28 11:00:15 | 20 | | 2020-01-28 14:50:35 | 15 | | 2020-01-28 15:30:36 | 25 | | 2020-01-28 17:10:55 | 15 | | ... | ... | +---------------------+------+
Quindi ecco la query per ottenere i dati sulle vendite degli ultimi 3 mesi, dopo aver aggregato le vendite giornaliere
mysql>select date(order_date),sale from sales where order_date > now() - INTERVAL 3 MONTH group by date(order_date); (showing only last few records) +------------+------+ | order_date | sale | +------------+------+ | 2020-03-09 | 230 | | ... | ... | | 2020-05-29 | 300 | | 2020-05-30 | 250 | | 2020-05-31 | 250 | | 2020-06-01 | 250 | | 2020-06-02 | 150 | | 2020-06-03 | 300 | | 2020-06-04 | 200 | | 2020-06-05 | 200 | | 2020-06-06 | 250 | | 2020-06-07 | 150 | | 2020-06-08 | 300 | | 2020-06-09 | 200 | +------------+------+
Puoi tracciare questi dati di vendita su un grafico a linee utilizzando uno strumento per la creazione di grafici come Ubiq.
Puoi anche aggregare questi dati di vendita per ogni mese utilizzando la query seguente. Usiamo DATE_FORMAT per ottenere i nomi dei mesi dai valori di data.
mysql>select date_format(order_date,'%b'),sale from sales where order_date > now() - INTERVAL 3 MONTH group by date_format(order_date,'%b'); +------------+-------+ | order_date | sale | +------------+-------+ | Mar | 830 | | Apr | 10300 | | May | 12250 | | Jun | 1250 | +------------+-------+
e traccialo su un grafico a barre come mostrato di seguito, creato utilizzando Ubiq.
Questo è tutto! Si spera che anche tu possa ottenere i dati sulle vendite degli ultimi 3 mesi in MySQL per la tua azienda/sito web/app e condividerli con il tuo team.
Se vuoi creare grafici, dashboard e report dal database MySQL, puoi provare Ubiq. Offriamo una prova gratuita di 14 giorni.