私はこのようなテーブルを持っています
courseid session_date title published
1 2012-07-01 Training Course A 0
1 2012-07-02 Training Course A 0
2 2012-07-04 Training Course B 1
2 2012-07-07 Training Course B 1
3 2012-07-05 Training Course C 1
3 2012-07-06 Training Course C 1
4 2012-07-07 Training Course D 1
4 2012-07-10 Training Course D 1
session_date 列にはコースの開始日と終了日が表示されるため、テーブルには ID とタイトルごとに 2 つのエントリがあります。
過去のコースを表示せずに、次の 5 つのコースを取得するクエリを作成しようとしています。
私はここまでたどり着きました
SELECT session_date, title, courseid
FROM table
WHERE published = 1 AND session_date > DATE(NOW())
ORDER BY session_date ASC LIMIT 0,5
これにより、次の 5 つのセッション日付のテーブルから行が取得されますが、開始日と終了日の両方が含まれていますが、次の 5 つのコースを開始日順に並べる必要があります。
各 courseid の最も早い session_date を取得するクエリを作成する必要がありますが、同じ courseid の最新の session_date を含む行は無視しますが、これを行う方法が完全に失われています。
ヘルプやアドバイスをいただければ幸いです。