【发布时间】:2012-06-25 19:30:29
【问题描述】:
我有一个包含电视指南数据的表。
在简化形式中,列如下所示...
_id, title, start_time, end_time, channel_id
我要做的是创建一个 NOW/NEXT 格式的电视节目列表。生成“NOW”列表(当前正在广播的内容)很容易,但尝试获取显示“NEXT”的内容列表会给我带来问题。
我试过了……
SELECT * from TV_GUIDE where start_time >= datetime('now') GROUP BY channel_id
果然,这给了我一个电视节目channel_id,但它给了我TV_GUIDE 表中的最后一个节目(按日期/时间)。
SQL 不是我的强项,我正在努力找出为什么只返回最后的电视节目。看来我需要做一个查询的子查询(或子查询的查询)。我尝试了 ORDER BY 和 LIMIT 的组合,但它们没有帮助。
【问题讨论】:
-
您不应选择未出现在 group by 子句中的列,除非它们位于聚合函数中。你也应该避免
SELECT *。