我需要一個更好的方式從我擁有的某些表中檢索前10個不同的UID。Top-10 mysql查詢
的設置:
- 表user_view_tracker
- 包含對{用戶ID(UID),時間戳(TS)}
- 每天都在增長的(今天是41K項)
我的目標:
- 要產生10強觀看次數最多的用戶ID在該表user_view_tracker
我當前的代碼工作,但慢慢地查殺數據庫:
select
distinct uvt.uid as UID,
(select count(*) from user_view_tracker temp where temp.uid=uvt.uid and temp.ts>date_sub(now(),interval 1 month)) as CLICK
from user_view_tracker uvt
order by CLICK
limit 10
這是相當明顯的是不同的數據結構會有所幫助。但我現在還不能這樣做。
編輯,你是對的。我想知道他的代碼爲什麼工作:D – Ryx5
談論沒有DESC的順序 – Ryx5