1

本当の基本: 次のデータを持つテーブル T があります。

ID   StartDate  Term (months)
----------------------
1    10/1/2012   12
2    10/1/2012   24
3    12/1/2012   12

最大終了日を持つ行の ID を知る必要があります。テーブルから select max( DateAdd(month, term, StartDate) として終了日を正常に計算しました [これは 10/1/2014 になります]

最大終了日を含む行の ID 値と開始日を取得するにはどうすればよいですか?

4

2 に答える 2

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
于 2012-11-11T22:13:09.900 に答える
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
于 2012-11-11T23:18:52.920 に答える