Mysql
 sql >> Database >  >> RDS >> Mysql

Come ottenere i dati sulle vendite degli ultimi 3 mesi in MySQL

È 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.