In dit voorbeeld ga ik u enkele nuttige MySql-query's laten zien om gebruikers- of productanalyserapporten over de prestaties van uw product weer te geven.
Stel dat u een website heeft met een productbasis en u moet het aantal klikken en unieke klikken op een product berekenen, of u moet een grafiekweergave weergeven van maandelijkse of jaarlijkse klikken of unieke klikken. Voor dat doel zijn deze zoekopdrachten erg handig.
Hier heb ik een productanalysetabel met wat analytische gegevens.
product_analytic
| Product_Id | Klik | IP | Gemaakt | Bijgewerkt |
|---|---|---|---|---|
| 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 | 02-01-2016 00:00:00 | 02-01-2016 00:00:00 |
| .. | .. | 1.. | … | … |
| .. | .. | 1.. | … | … |
| .. | .. | 1.. | … | … |
Uit deze tabel moet ik klikken en unieke klikken op productdag, week, maand en jaar halen.
Dagelijks gegevens ophalen
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 |
UITGANG:

Wekelijks gegevens ophalen
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 |
Gegevens ophalen per maand
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 |
Gegevens ophalen per jaar
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 |