簡體   English   中英

SQL ACCESS 2010按組別排名前80%

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM