Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取TSQL中分组记录的ID_Tsql - Fatal编程技术网

获取TSQL中分组记录的ID

获取TSQL中分组记录的ID,tsql,Tsql,SQL SELECT ID, AtDate, ItemID, StorageID, TargetItemDocDetailID FROM dbo.ItemBalanceRegisters SELECT MAX(AtDate) as AtDate, ItemID, StorageID, TargetItemDocDetailID FROM dbo.ItemBalanceRegisters S GROUP BY ItemID, StorageID, TargetItemD

SQL

SELECT ID, AtDate, ItemID, StorageID, TargetItemDocDetailID 
FROM   dbo.ItemBalanceRegisters 
SELECT  MAX(AtDate) as AtDate, ItemID, StorageID, TargetItemDocDetailID
FROM  dbo.ItemBalanceRegisters S       
GROUP BY ItemID, StorageID, TargetItemDocDetailID
输出

 ID,                                       AtDate,                    ItemID, StorageID, TargetItemDocDetailID 

 B363E263-F38B-478F-B8BF-92A0B4C0C11D   2020-05-15 09:41:01.7530061   1   6    NULL

 48EF1748-5459-491E-A84F-AEBF46145217       2020-05-15 11:05:18.7743409   1   9    NULL

 19255F6A-C868-4DEA-8785-D4EF5005B824       2020-05-15 10:24:07.9138724   1   6    NULL
我只需要从每个组中获取具有唯一文件名:
ItemID、StorageID、TargetItemDocDetailID
和MAX()date的记录 但是我还需要获得
ID
if组中的记录

所以我的SQL

SELECT ID, AtDate, ItemID, StorageID, TargetItemDocDetailID 
FROM   dbo.ItemBalanceRegisters 
SELECT  MAX(AtDate) as AtDate, ItemID, StorageID, TargetItemDocDetailID
FROM  dbo.ItemBalanceRegisters S       
GROUP BY ItemID, StorageID, TargetItemDocDetailID
返回

 2020-05-15 10:24:07.9138724    1   6   NULL

 2020-05-15 11:05:18.7743409    1   9   NULL
这很好,但我需要查看记录的
ID

那么如何将
ID
也导入到我的SQL中

 2020-05-15 10:24:07.9138724    1   6   NULL   19255F6A-C868-4DEA-8785-D4EF5005B824

 2020-05-15 11:05:18.7743409    1   9   NULL   48EF1748-5459-491E-A84F-AEBF46145217
使用beloe查询

SELECT ID,AtDate,ItemID,StorageID,TargetItemDocDetailID
FROM 
(
    SELECT ROW_NUMBER() OVER(Partition BY ItemID, StorageID, TargetItemDocDetailID ORDER BY AtDate DESC) AS RN,*
    FROM TABLE_NAME
)T
WHERE RN=1

您可以在解决方案帮助下面的派生表检查中使用加重函数


使用
行号