I det här exemplet ska jag visa dig några användbara MySql-frågor för att visa användar- eller produktanalysrapporter om dina produkters prestanda.
Anta att du har en produktbaswebbplats och du måste beräkna antalet klick och unika klick på produkten, eller så måste du visa en grafvy över månatliga eller årliga klick eller unika klick. För detta ändamål är dessa frågor mycket användbara.
Här har jag en produktanalystabell med lite analysdata.
produktanalytisk
Product_Id | Klicka | IP | Skapat | Uppdaterad |
---|---|---|---|---|
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.. | ... | ... |
Från den här tabellen måste jag hämta klick och unika klick på produktdag, vecka, månad, år.
Hämtar data dagligen
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 |
OUTPUT:
Hämtar data per vecka
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 |
Hämtar data per månad
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 |
Hämtar data per år
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 |