ヘルパー テーブルを使用して MySQL の日付ギャップを埋める
データセットから正確なデータを取得するには、多くの場合、欠落している日付範囲に対処する必要があります。 MySQL では、ヘルパー テーブルを使用することで日付のギャップを埋めることができます。
指定された範囲内の特定の日付のデータをカウントして要約するクエリがあるとします。ただし、日付によってはレコードがない場合があり、結果にギャップが生じることがあります。この問題に対処するには、指定された範囲内のすべての日付を含むヘルパー テーブルを利用できます。
SELECT d.dt AS date, COUNT(*) AS total, SUM(attitude = 'positive') AS positive, SUM(attitude = 'neutral') AS neutral, SUM(attitude = 'negative') AS negative FROM dates d LEFT JOIN messages m ON m.posted_at >= d.dt AND m.posted_at < d.dt + INTERVAL 1 DAYS AND spam = 0 AND duplicate = 0 AND ignore = 0 GROUP BY d.dt ORDER BY d.dt
このクエリでは:
このアプローチにより、日付のギャップを埋め、連続した一連のデータを取得し、より包括的で正確なデータを提供できます。結果の表現
以上がヘルパー テーブルを使用して MySQL クエリの日付ギャップを埋めるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。