次のテーブルがあります。
account
+------------+--------------+ | | アカウント ID | アカウント名 | +------------+--------------+ | | 452 | | | | | 785 | b | | | 985 | c | +------------+--------------+
と
task
+---------+------------+------------+ | | タスク ID | タスク日付 | アカウント ID | +---------+------------+------------+ | | 2 | 2013 年 1 月 1 日 | 452 | | | 1 | 2013 年 2 月 14 日 | 452 | | | 5 | 2013 年 3 月 1 日 | 452 | | | 1 | 2013 年 2 月 2 日 | 785 | | | 7 | 2013 年 7 月 1 日 | 785 | | | 5 | 2013 年 1 月 3 日 | 785 | | | 1 | 2013 年 3 月 25 日 | 985 | | | 4 | 2013 年 3 月 22 日 | 985 | +---------+------------+------------+
task
テーブルからレコードを表示する必要がありaccount
、日付を表示せずに最も古いタスクのみを表示できるようにする必要があります。したがって、結果は次のようになります。
+--------------------+---------+ | | アカウント名 | タスク ID | +--------------------+---------+ | | | | 2 | | | b | 7 | | | c | 4 | +--------------------+---------+
min
関数の使用が頭に浮かびました。しかし、日付を表示したくないので、どうすれば関数を使用できますか。
SELECT A.ACCOUNT_NAME,
T.TASK_ID,
MIN(T.TASK_DATE)
FROM ACCOUNT A
INNER JOIN TASK T
ON A.ACCOUNT_ID = T.ACCOUNT_ID
GROUP BY ACCOUNT_NAME, TASK_ID