首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为多行选择NEWID()

如何为多行选择NEWID()
EN

Stack Overflow用户
提问于 2015-05-18 22:29:02
回答 1查看 1.2K关注 0票数 3

SELECT如下:

代码语言:javascript
复制
SELECT  DISTINCT  
     Header.EntryGUID,
     Header.ImportDate
FROM table_Name Header
WHERE Header.ID 
ORDER BY EntryGUID

产出如下:

代码语言:javascript
复制
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()选择

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-18 22:41:31

您可以使用窗口函数来完成这个任务:

代码语言:javascript
复制
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

这将按日期排序行,保留第一行不变,并用新guids替换其他行。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30313780

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档