私は7.4を実行しているPostgres DBを持っています(ええ、私たちはアップグレードの真っ最中です)
日次、月次、年次、および生涯のレコード数を取得するための 4 つの個別のクエリがあります。
SELECT COUNT(field)
FROM database
WHERE date_field
BETWEEN DATE_TRUNC('DAY' LOCALTIMESTAMP)
AND DATE_TRUNC('DAY' LOCALTIMESTAMP) + INTERVAL '1 DAY'
DAY
月の場合は、クエリ内の単語をMONTH
期間ごとに置き換えるだけです。
1 つのクエリで目的の結果をすべて取得する方法と、推奨される最適化についてのアイデアを探しています。
前もって感謝します!
注: date_field はタイムゾーンなしのタイムスタンプです
アップデート:
申し訳ありませんが、追加のクエリ制約を使用してレコードを除外しています。date_field 比較の要点を伝えたかっただけです。混乱を招いて申し訳ありません