處理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
在此查詢中,有一個輔助表創建名為“dates”的文件,其中包含所需範圍內從開始到結束的所有日期。 LEFT JOIN 運算子用於透過將「日期」表中的每個日期連結到「訊息」表中的對應行來填補空白。 「訊息」表中沒有符合條目的行將填入空值或零值。
這種方法可讓您輕鬆處理日期間隙並取得完整的資料集進行分析。需要注意的是,建立輔助表需要事先了解日期範圍,並且對於大型資料集來說可能會變得具有挑戰性。
以上是如何填補 MySQL 資料中的日期空白以進行準確分析?的詳細內容。更多資訊請關注PHP中文網其他相關文章!