假设我管理医疗病人停留信息系统。SQL计数每天停留查询不按预期工作
我想每天的病人数与以下最低结构:
stay
表已经begin
和end
datetime列- PHP给我
$first_day
和$last_day
限制
的下面的代码段不是我想要的,因为它每天只记录条目,并且不存在每天停留的记录:
SELECT
DATE_FORMAT(`stay`.`begin`, '%Y-%m-%d') AS `date`,
COUNT(`stay`.`stay_id`) AS `total`
FROM `stay`
WHERE `stay`.`begin` <= '$first_day'
AND `stay`.`end` >= '$last_day'
GROUP BY `date`
ORDER BY `date`
最后但并非最不重要的是,我正在查找完整的SQL查询。
毫无疑问,为每一天制作一个SQL查询将是非常平凡的。
使用临时(日期?)表格显然是一种选择。
好吧,我现在觉得有点愚蠢,我应该找到(a)查询,(b)你链接的堆栈线程。无论如何,非常感谢。 – 2012-03-29 12:04:28
还有一件事,是将我的日期时间转换为必要的日期?我不这么认为。 – 2012-03-29 12:06:34
在选择,还是在表中?另外,如果你不想存储程序,你也可以创建一个日历表,所有日期到2100年,只需加入一个使用你的开始/结束。 – GavinCattell 2012-03-29 16:15:56