私はテーブルtv_programs(prog_id、channel_id、prog_name、prog_start_date、prog_end_date)を持っています
チャンネルごとに、現在放送されている番組の後に開始される次の番組が欲しいです。したがって、チャネルごとに1つの行。
私は試した
Select * from tv_programs where prog_start_date > NOW()
これにより、これから始まるすべてのチャンネルのすべてのプログラムが得られます。
私はテーブルtv_programs(prog_id、channel_id、prog_name、prog_start_date、prog_end_date)を持っています
チャンネルごとに、現在放送されている番組の後に開始される次の番組が欲しいです。したがって、チャネルごとに1つの行。
私は試した
Select * from tv_programs where prog_start_date > NOW()
これにより、これから始まるすべてのチャンネルのすべてのプログラムが得られます。
SELECT *
FROM tv_programs
WHERE prog_start_date > NOW()
GROUP BY channel_id # for each channel
ORDER BY prog_start_date ASC # order by this channel's start time
何かいい?
必ずGROUP BY channel_id
したがって、最後のクエリ:
SELECT *
FROM tv_programs
WHERE prog_start_date > NOW()
GROUP BY channel_id
ORDER BY prog_start_date ASC
プログラムを返し、チャンネルごとに早く開始します