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 |