Mysql 选择唯一的下一个事件

Mysql 选择唯一的下一个事件,mysql,Mysql,我有一个电视节目表(节目id、频道id、节目名称、节目开始日期、节目结束日期) 我希望每个频道都有下一个节目,在现在播出的节目之后开始。所以每个频道一行 我试过了 Select * from tv_programs where prog_start_date > NOW() 这给了我所有频道的所有节目,从现在开始 SELECT * FROM tv_programs WHERE prog_start_date > NOW() GROUP BY channel_id

我有一个电视节目表(节目id、频道id、节目名称、节目开始日期、节目结束日期)

我希望每个频道都有下一个节目,在现在播出的节目之后开始。所以每个频道一行

我试过了

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

有什么好处吗?

你必须按频道id分组

最后一个问题是:

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

将返回程序,使每个频道更早开始

这将只为每个频道提供一项,而不是一项。我在完成之前保存了我的答案。对不起。。更好吗?如果限制为一行,它会返回一行还是每个频道返回一行?我已经取消了限制。。我的回答只限于一张唱片。。每个频道没有一条记录。。除非在服务器代码中执行,否则不确定如何执行此操作。