前言:我正在开发一个应用程序来测试多个主题的用户。我希望保留其进度的历史记录,并能够轻松地向用户呈现每个主题的每日,每周和每月的进度视图。
我桌子的初始设计如下:
CREATE TABLE IF NOT EXISTS `user_topics` (
`ProgressID` int(11) NOT NULL,
`UserID` int(11) NOT NULL,
`TopicID` int(11) NOT NULL,
`Level` decimal(3,1) NOT NULL,
`TotalCorrect` int(11) NOT NULL,
`QuestionsAsked` int(11) NOT NULL,
`DateTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`ProgressID`)
)
我是否会沿着正确的路线前进/如何检索我需要的数据以提供可呈现的历史记录?
修改
我想要显示一个时间作为比例和%正确的图表,这将在用户点击查看其主题的每月/每周进度时完成。我希望每个主题查看每周/每月数据之间的加载时间非常透明。
是否应该在一次调用中检索数据(只选择从日期x到现在的行),然后将其留给单个客户端将数据组织成天/月等然后显示数据?
答案 0 :(得分:0)
您可以使用date_between查询两个日期之间的所有进度记录,如下所示:
SELECT * FROM 'user_topics' WHERE 'DateTime' between '2008-12-23' AND '2008-12-25';
here is the mysql documentation for 'between ... and ...'
现在,使用一些图表工具,您可以获得最后一天/周/月/年的所有进度并显示其进度。