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

MySql ottiene record o dati giornalieri, settimanali, mensili e annuali

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

Se ti piace questo post, non dimenticare di iscriverti al mio taccuino pubblico per altre cose utili