【发布时间】:2016-06-07 21:20:05
【问题描述】:
嘿,我有点被这个查询卡住了。使用 SQL 服务器
我在表中有 UNIQUE(date, medId, userId)
我有这张桌子
date | medId | userId | Quantity
2016-06-10 | 2 | 1 | 28
2016-06-07 | 1 | 1 | 19
2016-06-06 | 1 | 1 | 10
我想获取具有最大日期的行,每组 medId,userId,在这种情况下 我会得到
2016-06-10 | 2 | 1 | 28
2016-06-07 | 1 | 1 | 19
提前致谢!
我试过了
SELECT
a.userMedStockDate,
a.userMedStockMedId,
a.userMedStockUserId,
a.userMedStockQuantity
FROM (SELECT
MAX(userMedStockDate) AS userMedStockDate,
userMedStockQuantity,
userMedStockUserId,
userMedStockMedId,
ROW_NUMBER() OVER (partition by userMedStockMedId,userMedStockUserId
ORDER BY MAX(userMedStockDate) desc) AS rnk
FROM UserMedStock
GROUP BY
userMedStockUserId,
userMedStockQuantity,
userMedStockMedId) a
WHERE a.rnk = 1
[已解决]
【问题讨论】:
标签: sql sql-server tsql