お世話になっております。
不備等あれば、ご指摘お願いします。
実現したいこと
特定範囲でのカラム最大値や最小値を取得したいと考えております。
ID | DATE(date型) |
---|---|
A | 2019-04-01 |
A | 2019-05-01 |
A | 2019-06-01 |
A | 2019-07-01 |
B | 2019-04-05 |
B | 2019-05-05 |
B | 2019-06-05 |
B | 2019-07-05 |
上記のような表があったとき、下記のような日付を取得したいと考えています。
・当日以降で最小値 (05/09現在で上記例だと、A:2019-06-01、B:2019-06-05)
・当日までのうち最大値 (05/09現在で上記例だと、A:2019-05-01、B:2019-05-05)
試したこと1
postgresql
1#当日以降で最小値を求める場合 2SELECT DATE 3FROM table 4GROUP BY DATE 5HAVING DATE >= now();
上記であると、当日以降の日付をすべて取得してしまいます(A:2019-06-01と2019-07-01、B:2019-06-05と2019-07-05)。
最小値、最大値の1レコードだけを取得する方法があれば、ご教授願いたいです。
試したこと2
(追記1)
postgresql
1#当日以降で最小値を求める場合 2SELECT MIN(DATE) 3FROM table 4GROUP BY DATE 5HAVING DATE >= now();
MIN,MAXを上記のように試しましたが、得られる結果は試したこと1と同等でした。
(select結果のカラム名が"min"に置き換えられていました)