2017-06-21 19 views
0

我想從下面的腳本選擇每一個客戶的網站上的最新行:從每個網站選擇最新的行?

select "CUSTOM_ATTRIBUTE"."VALUE" as "SO_NUMBER", 
    "CONTRACT"."END_DATE" as "CONTRACT_END_DATE", 
    "ALERT"."LAST_UPDATED_TIMESTAMP" as "LAST_UPDATED_TIMESTAMP_1", 
    "DATA_POINT_UPLOAD_DATA"."VALUE" as "DP_UPLD_DATA_VALUE", 
    "SITE"."NAME" as "SITE_NAME", 
    "SITE"."LAST_UPDATED_TIMESTAMP" as "LAST_UPDATED_TIMESTAMP", 
    "CONTRACT_TYPE"."NAME" as "CONTRACT_TYPE_NAME", 
    "ALERT"."USER_ID" as "ALERT_USER_ID", 
    "ALERT"."ACKNOWLEDGEMENT_TIME" as "NOTES_TIMESTAMP", 
    "ALERT"."EVENT" as "ALERT_EVENT", 
    "ALERT"."ACKNOWLEDGEMENT_NOTE" as "NOTES", 
    "ALERT"."CASE_NO" as "ALERT_CASE_NO", 
    "SITE"."ID" as "SITE_ID" 
from "DB"."ALERT" "ALERT", 
    "DB"."DATA_POINT_UPLOAD_DATA" "DATA_POINT_UPLOAD_DATA", 
    "DB"."COMPONENT" "COMPONENT", 
    "DB"."COMPONENT_DATA_POINT" "COMPONENT_DATA_POINT", 
    "DB"."CONTRACT" "CONTRACT", 
    "DB"."CONTRACT_TYPE" "CONTRACT_TYPE", 
    "DB"."CUSTOM_ATTRIBUTE" "CUSTOM_ATTRIBUTE", 
    "DB"."SITE" "SITE" 
where "SITE"."ID"="CUSTOM_ATTRIBUTE"."SITE_ID" 
and  "CUSTOM_ATTRIBUTE"."SITE_ID"="CONTRACT"."SITE_ID" 
and  "CONTRACT"."CONTRACT_TYPE_ID"="CONTRACT_TYPE"."ID" 
and  "CUSTOM_ATTRIBUTE"."SITE_ID"="COMPONENT"."SITE_ID" 
and  "COMPONENT"."ID"="COMPONENT_DATA_POINT"."COMPONENT_ID" 
and  "COMPONENT_DATA_POINT"."ID"="DATA_POINT_UPLOAD_DATA"."COMPONENT_DATA_POINT_ID" 
and  "ALERT"."SITE_ID"="CUSTOM_ATTRIBUTE"."SITE_ID" 
    and "CUSTOM_ATTRIBUTE"."NAME" ='SO#' 
    and "COMPONENT_DATA_POINT"."NAME" ='State' 
    and "SITE"."EQUIPMENT_TYPE_ID" ='250'; 

電流輸出:

... 5000 ...輸出

SO_NUMBER      CONTRACT_END_DATE LAST_UPDATED_TIMESTAMP_1   DP_UPLD_DATA_VALUE                     SITE_NAME                       LAST_UPDATED_TIMESTAMP    CONTRACT_TYPE_NAME               ALERT_USER_ID NOTES_TIMESTAMP      ALERT_EVENT          NOTES                                                                                                                                                     ALERT_CASE_NO           SITE_ID 
------------------------------ ----------------- ----------------------------------- ---------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------- ----------------------------------- -------------------------------------------------- --------------------------------------- ----------------------------------- -------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ -------------------------------------------------- ---------- 
144732       30-JUN-19   14-JUN-17 04.57.07.119266000 AM  Some_Event_Occurred                     Customer Name                     10-NOV-16 08.19.47.000000000 PM  Some Contract                 1169 09-JUN-17 03.34.10.019229000 PM  Some Notes Entered                                                                                                                                                                       ABC123 
Only 5,000 rows currently supported in a script results 
5,000 rows selected 

的預期輸出:

SO_NUMBER      CONTRACT_END_DATE LAST_UPDATED_TIMESTAMP_1   DP_UPLD_DATA_VALUE                     SITE_NAME                       LAST_UPDATED_TIMESTAMP    CONTRACT_TYPE_NAME               ALERT_USER_ID NOTES_TIMESTAMP      ALERT_EVENT          NOTES                                                                                                                                                     ALERT_CASE_NO           SITE_ID 
------------------------------ ----------------- ----------------------------------- ---------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------- ----------------------------------- -------------------------------------------------- --------------------------------------- ----------------------------------- -------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ -------------------------------------------------- ---------- 
145732       30-JUN-19   14-JUN-17 04.57.07.119266000 AM  Some_Run_Event                      Customer 1                     10-NOV-16 08.19.47.000000000 PM  Contract                 1169 09-JUN-17 03.34.10.019229000 PM                                                                                                                                                                              100763 
146733       30-JUN-19   10-JUN-17 03.20.06.396989000 AM  Some_Run_Event                      Customer 2                     10-NOV-16 08.19.47.000000000 PM  Contract                                                                                                                                                                                                        100764 
144734       30-JUN-19   10-JUN-17 03.29.07.172041000 AM  Some_Run_Event                      Customer 3                     10-NOV-16 08.19.47.000000000 PM  Contract                                                                                                                                                                                                        100765 
144835       30-JUN-19   10-JUN-17 03.44.06.692450000 AM  Some_Run_Event                      Customer 4                     10-NOV-16 08.19.47.000000000 PM  Contract                                                                                                                                                                                                        100766 
144936       30-JUN-19   10-JUN-17 06.30.06.828320000 AM  Some_Run_Event                      Customer 5                     10-NOV-16 08.19.47.000000000 PM  Contract                                                                                                                                                                                                        100767 
144937       30-JUN-19   10-JUN-17 06.58.06.163756000 AM  Some_Run_Event                      Customer 6                     10-NOV-16 08.19.47.000000000 PM  Contract                                                                                                                                                                                                        100768 

我想獲得最新的r來自每個網站ID,而不是每個網站ID的數千行。

+1

到底是什麼「最後一排」?按什麼順序?您的查詢沒有ORDER BY,因此行可以以任何順序返回。 –

+0

最後一行,不是最後一行。我試圖來填充每個站點,而不是填充每一行,每個站點的最新一行。 – Fadiddy

回答

1

假設「latest」是指alert.last_updated_timestamp中的最新日期,那麼創建一個使用聚合獲取每個SiteID的此日期的max()值的子查詢,然後將該子查詢加入到您的查詢中已經不得不限制輸出到那些時間。

或者如果「最新」意味着別的東西,則相應地進行調整;同樣的技術也適用。

0

使用

「站點」(由SITE.ID爲了通過ALERT.LAST_UPDATED_TIMESTAMP降序分區)。 「ID」 爲 「SITE_ID」,

ROW_NUMBER()超過作爲temp_col

作爲最後在這個現有的select語句列,並添加一個外部查詢過濾SELECT * FROM(....現有查詢),其中temp_col = 1