加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

每个组的SQL SELECT TOP 1

发布时间:2020-12-12 06:41:32 所属栏目:MsSql教程 来源:网络整理
导读:我已经查看了其他问题并且无法找到我正在寻找的东西我有一个SQL数据库,其中有一个名为InventoryAllocations的表.在表格中,我有多个DocumentID条目,并希望检索每个唯一DocumentID的最后一个条目.我可以通过执行来检索一个 SELECT top(1) [UID],[RecordStatusID
我已经查看了其他问题并且无法找到我正在寻找的东西我有一个SQL数据库,其中有一个名为InventoryAllocations的表.在表格中,我有多个DocumentID条目,并希望检索每个唯一DocumentID的最后一个条目.我可以通过执行来检索一个
SELECT  top(1) [UID],[RecordStatusID],[CreatedDate],[CreatedTime],[CreatedByID],[OperationType],[InventoryLocationID],[DocumentTypeID],[DocumentID],[SOJPersonnelID],[InventorySerialisedItemID],[TransactionQty],[TransactionInventoryStatusID],[Completed],[CreatedByType],[RecordTimeStamp]
  FROM [CPData].[dbo].[InventoryAllocations]
  order by DocumentID desc

但是我想让它带回一个包含所有唯一DocumentID的列表.我希望你能提供帮助.非常感谢Hannah x

解决方法

SELECT TOP 1 WITH TIES 
    [UID],[RecordTimeStamp]
FROM 
    [CPData].[dbo].[InventoryAllocations]
ORDER BY
    ROW_NUMBER() OVER(PARTITION BY DocumentID ORDER BY [RecordTimeStamp] DESC);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读