得到最後一組重複的記錄,我有以下表格:SQL查詢到一些條件
我試圖找到一種方式來獲得那些已經過期的客戶記錄,然後相應地更新表(通過更新,我的意思是用相關客戶的customer_id添加條目'SERVICE EXPIRED'的新記錄)。
如果您查看錶格的底部,您會注意到已有客戶(customer_id 11和16)中有兩條記錄「SERVICE EXPIRED」。
我正在尋找一個SQL查詢,將:
- 通過CUSTOMER_ID獲取最後一組不同的記錄
- 排除記錄,從所得到的結果集有條目相同CUSTOMER_ID「服務過期'或2 STATUS_ID後來出現在表格
如果我使用以下命令:
SELECT MAX(id) FROM mytable WHERE status_id != '2' AND expiry < '2012-12-26 19:00:00' GROUP BY customer_id
它將返回ID11,11和16.但是,我不希望id 11和16,因爲到期狀態已經在表中的後面註明(請參閱表的最後兩條記錄),並且ID 1已經被更新,因爲可以在隨後的ID 3中看到更新的到期日期。我想要的是ID 13,因爲這是唯一沒有過期記錄,沒有「表過期」的「SERVICE EXPIRED」條目。
我正在尋找一個SQL查詢,這將使我能夠捕獲此需求。
在此先感謝
有沒有機會創建SQL小提琴或將現有數據粘貼爲複製友好格式?我有一個可能的答案,但我想測試它。 – ExactaBox
@ExactaBox我設法找到一種方法來拉它。乾杯。 –