假設我管理醫療病人停留信息系統。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