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 |