真正基本:我的表T包含以下数据:
ID StartDate Term (months)
----------------------
1 10/1/2012 12
2 10/1/2012 24
3 12/1/2012 12
我需要知道具有最大结束日期的行的ID。我已成功计算出结束日期为 从表中选择max(DateAdd(month,term,StartDate)[这将导致10/1/2014]
如何获取包含最大结束日期的行的ID值和开始日期?
答案 0 :(得分:1)
MS SQL:
SELECT TOP 1 ID, StartDate
FROM T
ORDER BY DateAdd(month, term, StartDate) DESC
MySQL的:
SELECT ID, StartDate
FROM T
ORDER BY DateAdd(month, term, StartDate) DESC
LIMIT 1
答案 1 :(得分:0)
如果多个ID具有相同的极端“结束日期”且您需要它们,您可以尝试这样做:
SELECT x.id
FROM (
SELECT id
, RANK ( ) OVER ( ORDER BY DateAdd(month, term, StartDate) DESC) as rn
FROM T
) x
WHERE t.rn = 1