1
我有一個具有以下字段的表:爲每個用戶選擇最近的N個記錄 - INFORMIX數據庫
USER_ID
SITE_ID
STATION_ID
Login_DateTime
我想拔出最近N(假設5)各用戶記錄/網站組合。
你能幫我創建MS Access和Informix DB的查詢嗎?
我有一個具有以下字段的表:爲每個用戶選擇最近的N個記錄 - INFORMIX數據庫
USER_ID
SITE_ID
STATION_ID
Login_DateTime
我想拔出最近N(假設5)各用戶記錄/網站組合。
你能幫我創建MS Access和Informix DB的查詢嗎?
我想做到這一點使用SQL是與Informix和MS訪問兼容的唯一方法是使用相關子查詢:
select t.*
from table as t
where (select count(*)
from table as t2
where t2.user_id = t.user_id and t2.site_id = t.site_id and
t2.login_datetime >= t.login_datetime
) <= 5;
感謝戈登。答案是正確的;但是,處理30000條記錄時,查詢需要相當長的時間。我會在接受之前等待可能的改進解決方案。再次感謝 – cedarsspirit
您可以在'table(user_id,site_id,login_datetime)'上添加索引來加速兩個數據庫中的查詢。 –