In questo esempio ti mostrerò alcune utili query di MySql per visualizzare eventuali report analitici di utenti o prodotti sulle prestazioni dei tuoi prodotti.
Supponiamo che tu abbia un sito Web di base di prodotti e devi calcolare il numero di clic e clic unici sul prodotto, oppure devi visualizzare una visualizzazione grafica dei clic mensili o annuali o dei clic unici, a tale scopo queste query sono molto utili.
Qui ho una tabella analitica del prodotto con alcuni dati analitici.
analisi_prodotto
ID_Prodotto | Clic | IP | Creato | Aggiornato |
---|---|---|---|---|
1 | 1 | 192.168.1.1 | 01-01-2016 00:00:00 | 01-01-2016 00:00:00 |
1 | 1 | 192.168.1.1 | 01-01-2016 00:00:00 | 01-01-2016 00:00:00 |
2 | 1 | 192.168.2.1 | 2016-01-02 00:00:00 | 2016-01-02 00:00:00 |
.. | .. | 1.. | ... | ... |
.. | .. | 1.. | ... | ... |
.. | .. | 1.. | ... | ... |
Da questa tabella devo recuperare i clic e i clic unici sul prodotto giorno, settimana, mese, anno.
Recupero dei dati ogni giorno
SELECT DATE(created) AS date, COUNT(click) AS click, COUNT(DISTINCT(ip)) AS unique_click FROM product_analytic WHERE created BETWEEN '2016-01-01 00:00:00' AND '2016-01-31 23:59:59' GROUP BY date ORDER BY date |
USCITA:
Recupero dei dati per settimana
SELECT DATE_FORMAT(created, '%X-%V') AS date, COUNT(click) AS click, COUNT(DISTINCT(ip)) AS unique_click FROM product_analytic WHERE created BETWEEN '2016-01-01 00:00:00' AND '2016-01-31 23:59:59' GROUP BY date ORDER BY date |
Recupero dati mensilmente
SELECT DATE_FORMAT(created, '%Y-%m') AS date, COUNT(click) AS click, COUNT(DISTINCT(ip)) AS unique_click FROM product_analytic WHERE created BETWEEN '2016-01-01 00:00:00' AND '2016-01-31 23:59:59' GROUP BY date ORDER BY date |
Recupero dati per anno
SELECT DATE_FORMAT(created, '%Y') AS date, COUNT(click) AS click, COUNT(DISTINCT(ip)) AS unique_click FROM product_analytic WHERE created BETWEEN '2016-01-01 00:00:00' AND '2016-01-31 23:59:59' GROUP BY date ORDER BY date |