我想看看是否有人知道如何在SQL Server 2016中使用“ row_num”列作为指标来获取每个“ id”中的最大和最小日期。
下面的屏幕快照在“ min_date”和“ max_date”列中显示了所需的输出。
任何帮助将不胜感激。
答案 0 :(得分:2)
您可以使用窗口的MIN / MAX:
WITH cte AS (
SELECT *,SUM(CASE WHEN row_num > 1 THEN 0 ELSE 1 END)
OVER(PARTITION BY id, cat ORDER BY date_col) AS grp
FROM tab
)
SELECT *, MIN(date_col) OVER(PARTITION BY id, cat, grp) AS min_date,
MAX(date_col) OVER(PARTITION BY id, cat, grp) AS max_date
FROM cte
ORDER BY id, date_col, cat;
答案 1 :(得分:1)
尝试类似
UserHelperMethods.GetUserProfilePic(foundUser);