2011/05/16

[T-SQL] 抓出資料表內不重複的資料

有時候我們必須對資料來源防呆,當資料來源已經失控 XD,為了避免自動程式抓到重複的資料做後續動作,先消極的補救。
以此資料表為範例
 2011-5-17 下午 01-42-35

我們要避開重複的資料,希望抓出如下圖所示的資料
2011-5-17 下午 01-34-35

所以我們可以使用下列 SQL 語法,抓出我們要的資料
首先我們先來將資料分組,並且標上排序

select [SN],[Name],row_number()over(partition by SN order by WriteDate ASC) as 'sort'	from MyTable

排序結果
2011-5-17 下午 01-48-45
接著我們只要 Filter sort = 1 的資料列,就是不重複的資料了

select *
from
(
	select [SN],[Name],row_number()over(partition by SN order by WriteDate ASC) as 'sort'
	from MyTable
) as A
where A.[sort] = 1

結果:
2011-5-17 下午 01-50-00

0 Comments:

張貼留言