3つのフィールドを持つテーブルがあります。このテーブルは、過去 30 日間の関連国への毎日の通話時間の記録を保持します。
C_Date Country C_Time
2012-10-01 India 1316
2012-10-01 USA 12
2012-10-01 UK 132
2012-10-01 Kuwait 134
2012-10-02 UK 135
2012-10-02 USA 136
2012-10-02 Singapore 137
このレコードを使用してテーブルと折れ線グラフを生成する必要があり、MySQL クエリを記述しようとしました。基本的に、これは選択した国に対してのみ描画する必要があります。
インド、アメリカ、イギリスが欲しいとしましょう。次に、次のようなレコード セットをプルする必要があります。
C_Date | Calling_Time
-----------+----------------------------------
2012-10-01 | 1316,12,132
2012-10-02 | 0,136,135
2012-10-03 | ...
... | ...
これは私のクエリです:
SELECT C_Date, GROUP_CONCAT(C_Time
ORDER BY Country
SEPARATOR ',') as Calling_Time
FROM Call_Table t
WHERE Country
IN ('India', 'USA', 'UK')
GROUP BY C_Date
ORDER BY C_Date
結果ははるかに近くなりましたが、空の結果は無視されました。
C_Date | Calling_Time
-----------+----------------------------------
2012-10-01 | 1316,12,132
2012-10-02 | 136,135 (expected 0,136,135)
Calling_Time を0,136,135 OR ,136,135 OR null, 136,135 のように取得するようにクエリを変更できますか? (各国を表す一意のセグメント数を使用)
前もって感謝します!