0
我有一張客戶信息表,我需要從不同的國家,但只有在時間戳比最後一次檢查更新。不同的值也需要與所有的舊支票不同。只選擇新的沒有重複值
表:
Name City State created_at
Dan Springfield Ohio 2014-03-25 17:44:19.000000
Jon Philadelphia Pennsylvania 2014-03-25 17:44:19.000000
Sue Hollywood California 2014-03-25 17:44:19.000000
Ann Oxford Ohio 2014-03-25 19:44:19.000000
Al Chicago Illinois 2014-03-25 19:44:19.000000
所以說,我已經跑了一次檢查,結果發現俄亥俄州,賓夕法尼亞州和加利福尼亞州。然後添加了兩個新條目。下一次我運行支票時,我只需要找到伊利諾伊而不是俄亥俄州。
我想這一點,
SELECT State, created_at FROM (SELECT DISTINCT State, created_at FROM clients) as temp WHERE created_at > '2014-03-25 17:44:19.000000' ORDER BY State ASC
運行在此之後,我意識到我的思維過程是錯誤的就這一個,因爲我仍然得到重複。
我想我需要的是,找到所有新項目
Select State FROM clients WHERE created_at > '2014-03-25 17:44:19.000000'
那麼該結果,
選擇狀態FROM的結果,其中國家是不是在(客戶WHERE created_at <「2014- 03-25 17:44:19.000000')
但我不知道如何做到這一點。
感謝您的任何幫助。
是的,這是完美的工作。謝謝。 有沒有機會解釋c部分?我沒有遵循「c」實際上正在做的事情。 – NarayanJr
@ user3462055。 。 。 'c'被稱爲「表別名」。它是表名的縮寫。在這種情況下,它是可選的,但有時(特別是對於自連接),它可能是必要的。 –