sql >> Databáze >  >> RDS >> Mysql

MySql získává záznamy nebo data denně, týdně, měsíčně a ročně

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

Pokud se vám tento příspěvek líbí, nezapomeňte se přihlásit k odběru mého veřejného zápisníku pro další užitečné věci


  1. Snímky databáze SQL Server -2

  2. Jak spustit SHOW LOCALES v MariaDB

  3. Potřebujete Oracle SQL k rozdělení rozsahu data/času na den

  4. Syntaxe SQL SELECT – řazeno podle DBMS