我在下面有一個查詢,它給了我一年中一個人走過的時間總數(大於2英里/小時)與查詢總條數(總小時數記錄)。兩者基本上都是相同的查詢,除了第一個中的最後一個子句外。問題是運行此查詢需要30秒。有沒有辦法讓我結合這兩個查詢,使其運行速度更快,但獲得類似的數據?我的最終目標是讓一個人走過的時間百分比大於2英里/小時。將具有類似動作的兩個查詢合併爲一個
SELECT COUNT(STARTING_HOUR) FROM SENSOR.SPEED
FULL OUTER JOIN ACCOUNT.ID
ON SENSOR.SPEED.Account_ID = ACCOUNT.ID.Account_ID
FULL OUTER JOIN ACCOUNT.NAME
ON ACCOUNT.ID.Account_ID = ACCOUNT.NAME.Account_ID
WHERE UPPER(NAME) LIKE '%Sarah%'
AND UPPER(NAME) LIKE '%Jones%'
AND STARTING_HOUR >= TO_DATE('2015-01-01T00:00:00', 'YYYY-MM-
DD"T"HH24:MI:SS')
AND STARTING_HOUR <= TO_DATE('2015-12-31T00:00:00', 'YYYY-MM-
DD"T"HH24:MI:SS')
AND Value > 2
UNION
SELECT COUNT(STARTING_HOUR) FROM SENSOR.SPEED
FULL OUTER JOIN ACCOUNT.ID
ON SENSOR.SPEED.Account_ID = ACCOUNT.ID.Account_ID
FULL OUTER JOIN ACCOUNT.NAME
ON ACCOUNT.ID.Account_ID = ACCOUNT.NAME.Account_ID
WHERE UPPER(NAME) LIKE '%Sarah%'
AND UPPER(NAME) LIKE '%Jones%'
AND STARTING_HOUR >= TO_DATE('2015-01-01T00:00:00', 'YYYY-MM-DD"T"HH24:MI:SS')
AND STARTING_HOUR <= TO_DATE('2015-12-31T00:00:00', 'YYYY-MM-DD"T"HH24:MI:SS')
謝謝!
大概你已經改變了張貼的查詢,即使如此,'上面(名字)'%Sarah%''看起來很奇怪,因爲它永遠不會是真的。而且在一年中最後一天的午夜之後,您的電子小時過濾器不會有任何收穫。 –
嗨,亞歷克斯,這是正確的。我改變了一點點的審查數據,但本質上它將採取所有大寫輸入 –