2つの入力がDATE_FROM
ありDATE_TO
、の形式で'YYYY-mm-dd'
は、問題は期間[DATE_FROM, DATE_TO)
とのレコード数をカウントすること[DATE_FROM -INTERVAL(DATE_TO,DATE_FROM), DATE_FROM)
です。
最初の間隔のレコード数をカウントするには、次のクエリを実行します
SELECT
count(*) as num_records
FROM mytable
WHERE
mytable.date_doc >= 'DATE_FROM 00:00:00'
AND mytable.date_doc <= 'DATE_TO 23:59:59'
ここでは、日付に深夜の時:分:秒が追加され、境界上の日のすべてのレコードがヒープされます。
2番目の時間間隔で同じカウントを実行するクエリを作成するにはどうすればよいですか?
データベースへの1つのクエリでそれを行うこと、またはそれを行うための最適な方法を提案することは可能ですか?
編集
間隔1(10日):DATE_FROM = '2012-11-03 00:00:00'、DATE_TO = '2012-11-12 23:59:59'
間隔2(10日):DATE_FROM = '2012-10-24 00:00:00'、DATE_TO = '2012-11-02 23:59:59'
SELECT
SUM(IF(DATE(mytable.date_doc) BETWEEN '2012-11-03 00:00:00' AND '2012-11-12 23:59:59', 1, 0)) AS count_interval1,
SUM(IF(DATE(mytable.date_doc) BETWEEN '2012-10-24 00:00:00' AND '2012-11-03 00:00:00', 1, 0)) AS count_interval2
FROM mytable
あなたの専門知識をありがとう!