Trong ví dụ này, tôi sẽ hiển thị cho bạn một số truy vấn hữu ích của MySql để hiển thị bất kỳ báo cáo phân tích người dùng hoặc sản phẩm nào về hiệu suất sản phẩm của bạn.
Giả sử bạn có một trang web cơ sở sản phẩm và bạn phải tính toán số lần nhấp và số lần nhấp vào sản phẩm, Hoặc bạn phải hiển thị chế độ xem biểu đồ về số nhấp chuột hàng tháng hoặc hàng năm hoặc số nhấp chuột duy nhất, Vì mục đích đó, những truy vấn này rất hữu ích.
Ở đây tôi có một bảng phân tích sản phẩm với một số dữ liệu phân tích.
product_analytic
| Product_Id | Nhấp vào | IP | Đã tạo | Đã cập nhật |
|---|---|---|---|---|
| 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 .. | … | … |
Từ bảng này, tôi phải tìm nạp các nhấp chuột và nhấp chuột duy nhất vào ngày, tuần, tháng, năm của sản phẩm.
Tìm nạp dữ liệu hàng ngày
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 |
ĐẦU RA:
Tìm nạp dữ liệu theo tuần
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 |
Tìm nạp dữ liệu theo tháng
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 |
Tìm nạp dữ liệu theo năm
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 |