【发布时间】:2011-07-25 21:30:09
【问题描述】:
我有一个表格,其中包含我想显示特定日期范围内每一天的统计信息的信息。该表由以下内容组成:
CREATE TABLE IF NOT EXISTS `questions` (
`qid` int(10) unsigned NOT NULL AUTO_INCREMENT,
`question_created_date` datetime NOT NULL,
`question_response_date` datetime NOT NULL,
)
我可以使用以下查询来显示 $start_date 和 $end_date 之间每天创建的问题数量。
SELECT COUNT(*) as q_count, DATE(question_created_date) as date FROM questions where question_created_date between "$start_date" and "$end_date" GROUP BY date ORDER BY date asc
我还希望它列出在同一天回复的主题数量。例如,如果在 2011 年 7 月 5 日有 10 个新问题和 5 个问题得到答复,而在 2011 年 7 月 6 日有 5 个新问题和 11 个问题得到答复,我希望能够显示:
Date|New|Responded
7/5/11 10 05
7/6/11 05 11
这可以通过mysql完成吗?
我知道我可以执行上面列出的查询,然后每天执行另一个查询以获取当天回复的问题数量,但我想知道是否有一种更简单、更有效的方法可以一次性完成查询。
提前致谢。
【问题讨论】:
-
如何存储问题响应?我们如何知道一天中有多少新问题和已回答的问题?问题和回答是否在同一张表中?每个响应是否有一行?如果是这样,你怎么知道这是一个响应而不是一个新问题,因为这两个日期都不能为空?