我有一個用戶觀看歷史記錄表。每次查看內容時,我都會記錄'content_id','user_id'並在名爲'watch_history'的表中添加時間戳。即使連續多次觀看同一內容,也會記錄每次點擊。MySQL分組排序問題
我需要提取觀看歷史記錄,但'content_id'列應該是截然不同的,並且按照最近觀看的順序排列......我發現很難解釋,但基本上確切地說YouTube觀看歷史記錄作品(沒有同一個視頻的多個實例)。
這是我到目前爲止有:
SELECT content_id, time_stamp, user_id,
COUNT(DISTINCT content_id) AS hit_count
FROM watch_history
WHERE user_id = X
GROUP BY content_id
ORDER BY time_stamp DESC
它的工作原理,但我需要的「TIME-STAMP」字段,以反映上一次內容的觀看,任何幫助嗎?
謝謝。
'SELECT x,COUNT(DISTINCT x)... GROUP BY x'將始終產生1的計數。你想要'MAX(time_stamp)'。 _注意user_id最有可能不是具有上次time_stamp值的記錄的user_id ._ – Uueerdo
嘗試最新的 –
@Uueerdo的max(time_stamp)。 。 。註釋中的「註釋」不是真的,因爲where子句只選擇一個用戶標識。 –