-1

我有一个名为IJdatetime 列的表IJDATE,以及 varchar 列IJLOCIJITEM. 我需要这两列的每个组合的最新行(并包括其他列,例如IJLCGT,一个整数,用于最近的行)。例如,从这些数据中:

IJLOC   IJITEM      IJDATE      IJLCGT
Reno    12X12X12PX  2013-07-29  175705
Reno    12X12X12PX  2013-08-14  125905

我想要这个结果(因为它是该组合的最新行):

IJLOC   IJITEM      IJDATE      IJLCGT
Reno    12X12X12PX  2013-08-14  125905

我已经尝试使用 MAX 并对 varchar 列进行分组,但是我不能包含其他列。

4

1 回答 1

4

给你的柱子命名的人需要他们的指关节来迎接快速移动的尺子。

;WITH cte AS 
(
  SELECT IJLOC, IJITEM, IJDATE, IJLCGT,
    rn = ROW_NUMBER() OVER (PARTITION BY IJITEM, IJLOC ORDER BY IJDATE DESC)
  FROM dbo.IJ
)
SELECT IJLOC, IJITEM, IJDATE, IJLCGT
FROM cte WHERE rn = 1;
于 2013-11-05T18:11:52.240 回答