与提要阅读器类似,我存储了一堆文章,每个文章都与一个来源(Feed)相关,每个Feed都属于一个类别。我想做的是:
foreach (Group group in results) { print(group.Name); foreach (Article article in g.Articles) { print(article.Title); print(article.Content); } }
我觉得很简单:
SELECT group_concat(item_id, '#') FROM items GROUP BY date(published_time)
会奏效。但后来我必须拆分生成的行并循环遍历(并且没有group_concat(*)函数)
我很困惑如何将结果分组(2),以便我可以遍历每个结果,保留组名。我认为SQL查询会返回一个大表,因此,只需一个查询就无法完成此任务。
我认为这更像是一个数据库设计问题,我也是SQLite的新手(SQL就此而言),所以我问你,大师们,如何有效地完成这项工作?
答案 0 :(得分:1)
SELECT Title, Content, date(published_time) AS Date
FROM items
ORDER BY date(published_time);
伪代码:
last = None
for r in results:
if not last or r.Date != last.Date:
print "Group", r.Date
print r.Title, r.Content
last = r