比如說,有張表,有主鍵,有手機號,有創建時間。然後我想根據手機號除重,並且要得到這條記錄,根據時間從小到大排序,很多人都說用group by給手機號分組,但是,我是要除重了以後還要顯示這條完整的記錄,即要顯示出主鍵,手機號,創建時間,想不出還有什麼方法。
這個是屬於取最大最小記錄的問題,可以用開窗函數。參考:
select * from (
select id,phone,create_time,rn row_number() over(partition by phone order by create_time desc)
from table1)
where rn=1
http://www.cnblogs.com/Ronger/archive/2011/12/28/2304900.html