Mysql 选择唯一的下一个事件
我有一个电视节目表(节目id、频道id、节目名称、节目开始日期、节目结束日期) 我希望每个频道都有下一个节目,在现在播出的节目之后开始。所以每个频道一行 我试过了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
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
将返回程序,使每个频道更早开始这将只为每个频道提供一项,而不是一项。我在完成之前保存了我的答案。对不起。。更好吗?如果限制为一行,它会返回一行还是每个频道返回一行?我已经取消了限制。。我的回答只限于一张唱片。。每个频道没有一条记录。。除非在服务器代码中执行,否则不确定如何执行此操作。