V tomto příkladu vám ukážu některé užitečné dotazy MySql pro zobrazení jakýchkoli uživatelských nebo produktových analytických zpráv o výkonu vašich produktů.
Předpokládejme, že máte webové stránky produktové báze a musíte vypočítat počet kliknutí a jedinečných kliknutí na produkt, nebo musíte zobrazit graf měsíčních nebo ročních kliknutí nebo jedinečných kliknutí. K tomuto účelu jsou tyto dotazy velmi užitečné.
Zde mám analytickou tabulku produktu s některými analytickými údaji.
product_analytic
| ID_produktu | Klikněte | IP | Vytvořeno | Aktualizováno |
|---|---|---|---|---|
| 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.. | … | … |
Z této tabulky musím načíst kliknutí a jedinečná kliknutí na produkt, den, týden, měsíc, rok.
Načítání dat denně
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 |
VÝSTUP:

Načítání dat po týdnech
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 |
Načítání dat za měsíc
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 |
Načítání dat podle roku
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 |