В този пример ще ви покажа някои полезни заявки за MySql за показване на потребителски или продуктови аналитични отчети за ефективността на вашите продукти.
Да предположим, че имате уебсайт с продуктова база и трябва да изчислите броя на кликванията и уникалните кликвания върху продукта, Или трябва да покажете графика на месечни или годишни кликвания или уникални кликвания. За тази цел тези заявки са много полезни.
Тук имам продуктова аналитична таблица с някои аналитични данни.
продукт_аналитичен
Product_Id | Щракнете | IP | Създаден | Актуализирано |
---|---|---|---|---|
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.. | … | … |
От тази таблица трябва да извличам кликвания и уникални кликвания в продуктов ден, седмица, месец, година.
Извличане на данни ежедневно
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 |
ИЗХОД:
Извличане на данни седмично
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 |
Извличане на данни по месеци
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 |
Извличане на данни по годишно
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 |