[英]SQL ACCESS 2010 Top 80 Percent by Group
我正在嘗試計算每個唯一標識符的時間值的前80%,因此我需要對該標識符進行分組。 由於要使用的表有1500萬條記錄,因此我遇到了麻煩。 我找到並使用的查詢可以設法完成,但是一旦我嘗試滾動查看信息,訪問就會崩潰。
SELECT TID, DATE, TRAVEL_TIME
FROM FH_2015
WHERE TRAVEL_TIME IN
(SELECT TOP 80 PERCENT TRAVEL_TIME
FROM FH_2015 AS A
WHERE A.TID = FH_2015.TID and A.DATE = FH_2015.DATE
ORDER BY TRAVEL_TIME ASC);
假設TID是唯一的記錄標識符,那么這就是您所需要的:
SELECT TID, DATE, TRAVEL_TIME
FROM FH_2015
WHERE TID IN
(SELECT TOP 80 PERCENT
TID
FROM FH_2015
ORDER BY TRAVEL_TIME DESC)
如果您實際上正在尋找TRAVEL_TIME的前80%,請注意DESC
。
實際上,您可以這樣做:
SELECT TOP 80 PERCENT
TID, DATE, TRAVEL_TIME
FROM FH_2015
ORDER BY TRAVEL_TIME DESC
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.