医療患者が情報システムを管理するとします。SQLカウントは1日に1回のクエリが期待どおりに機能しない
私は、次の最小限の構造で一日あたりの患者数を取得したい:
stay
表はbegin
とend
日時列- を持っているPHPは私に
$first_day
と$last_day
限界
います次のスニペットは、1日あたりのエントリ数のみをカウントし、1日あたりの滞在時間をカウントしないため、私が望むものではありません。
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クエリを探しています。
1日ごとに1つのSQLクエリを作成することは、まったく簡単なことです。
一時的な(日付?)テーブルの使用は明らかです。
私は愚かな気分になりました。(a)クエリ、(b)あなたがリンクしたスタックスレッドを見つけたはずです。とにかく、ありがとう。 –
もう1つ、私のdatetimesを必要な日付にキャストしていますか?私はそうは思わない。 –
選択中、またはテーブル内にありますか?さらに、ストアドプロシージャを必要としない場合は、2100年までのすべての日付を含むカレンダーテーブルを作成して、その開始/終了を使用することもできます。 – GavinCattell