SELECT是这样的:
SELECT DISTINCT
Header.EntryGUID,
Header.ImportDate
FROM table_Name Header
WHERE Header.ID
ORDER BY EntryGUID
OUTPUT是:
EntryGUID ------------------------------------------------- ImportDate
B7FFC239-2370-4E65-A184-7F2DD18A196E-----2015-02-24 00:00:00.000
B7FFC239-2370-4E65-A184-7F2DD18A196E-----2015-03-15 00:00:00.000
我的问题是如何选择第二行NEWID()
答案 0 :(得分:2)
您可以使用窗口功能执行此操作:
select ImportDate,
case when row_number() over(partition by EntryGUID order by ImportDate) = 1
then EntryGUID else newid() end as EntryGUID
from(
SELECT DISTINCT
Header.EntryGUID,
Header.ImportDate
FROM table_Name Header
WHERE Header.ID = 'variable')t
这将按日期排序,保持第一行不变,并用新guid替换其他行。