0

私はテーブルtv_programs(prog_id、channel_id、prog_name、prog_start_date、prog_end_date)を持っています

チャンネルごとに、現在放送されている番組の後に開始される次の番組が欲しいです。したがって、チャネルごとに1つの行。

私は試した

Select * from tv_programs where prog_start_date > NOW()

これにより、これから始まるすべてのチャンネルのすべてのプログラムが得られます。

4

2 に答える 2

0
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

何かいい?

于 2012-04-06T09:40:54.340 に答える
0

必ずGROUP BY channel_id

したがって、最後のクエリ:

SELECT * 
FROM tv_programs 
WHERE prog_start_date > NOW() 
GROUP BY channel_id
ORDER BY prog_start_date ASC

プログラムを返し、チャンネルごとに早く開始します

于 2012-04-06T09:41:31.720 に答える