sql >> Base de Datos >  >> RDS >> Mysql

MySql obtiene registros o datos por día, semana, mes y año

En este ejemplo, le mostraré algunas consultas útiles de MySql para mostrar informes analíticos de cualquier usuario o producto sobre el rendimiento de sus productos.

Supongamos que tiene un sitio web de base de productos y tiene que calcular la cantidad de clics y clics únicos en el producto, o tiene que mostrar una vista de gráfico de clics mensuales o anuales o clics únicos. Para ese propósito, estas consultas son muy útiles.




Aquí tengo una tabla analítica de productos con algunos datos analíticos.

producto_analítico

Id_Producto Hacer clic IP Creado Actualizado
1 1 192.168.1.1 2016-01-01 00:00:00 2016-01-01 00:00:00
1 1 192.168.1.1 2016-01-01 00:00:00 2016-01-01 00:00:00
2 1 192.168.2.1 2016-01-02 00:00:00 2016-01-02 00:00:00
.. .. 1..
.. .. 1..
.. .. 1..

De esta tabla, tengo que buscar clics y clics únicos en el día, la semana, el mes y el año del producto.

Obtención de datos por día

    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

SALIDA:

Obtención de datos por semana

    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



Obtención de datos por mes

    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

Obtención de datos por año

    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

Si te gusta esta publicación, no olvides suscribirte a mi libreta pública para obtener más cosas útiles