3
我有一個表稱爲log
,它記錄最近使用的項目列如下:MYSQL趨勢查詢
u_id
(一個唯一的號碼)item_id
(項目ID號)access_time
(一個服務器時間戳)
我想創建一個查詢,查詢一段時間內訪問最多的項目的趨勢。例如,最近60分鐘(服務器時間)中訪問量最大的前10個項目是什麼。
如何創建這樣的查詢?
我有一個表稱爲log
,它記錄最近使用的項目列如下:MYSQL趨勢查詢
u_id
(一個唯一的號碼)item_id
(項目ID號)access_time
(一個服務器時間戳)我想創建一個查詢,查詢一段時間內訪問最多的項目的趨勢。例如,最近60分鐘(服務器時間)中訪問量最大的前10個項目是什麼。
如何創建這樣的查詢?
SELECT item_id, COUNT(*) FROM log
WHERE TIMESTAMPDIFF(MINUTE, access_time, NOW()) <= 60
GROUP BY item_id
ORDER BY COUNT(item_id) DESC
LIMIT 0,10
我只希望通過訪問次數統計中的項目在過去一小時訪問的項目,順序和取前10:
SELECT item_id, COUNT(*)
FROM log
WHERE access_time >= DATE_SUB(CURDATE(), INTERVAL 1 HOUR)
GROUP BY item_id
ORDER BY 2 DESC
LIMIT 10