2013-02-26 44 views
1

我想問一下,如果我有像下面MySQL的CONCAT腳本

Date & Hour    Phone   Status 
2012-03-06 16:33:12  0292561234 Congestion 
2012-03-06 16:33:12  0292561234 Congestion 
2012-03-06 16:34:45  0292561234 Congestion 
2012-03-06 16:46:50  0292561234 Congestion 
2012-03-06 17:17:01  0292561234 Dial 
2012-03-07 12:01:39  500   Queue 
2012-03-07 12:02:10  500   Queue 
2012-03-07 12:03:06  500   Queue 

我要加入他們喜歡

Date & Hour    Phone   Status 
2012-03-06 16  0292561234 Congestion,Congestion,Congestion 
2012-03-06 17  0292561234 Dial 
2012-03-07 12  500   Queue,Queue,Queue 

所以我使用的是CONCAT條件

SELECT calldate, dst, GROUP_CONCAT(lastapp) 
FROM cdr 
GROUP BY hour(calldate) ; 

但它顯示爲

Date & Hour    Phone   Status 
2012-03-06 16:33:12  0292561234 Congestion,Congestion,Congestion,Dial 
2012-03-06 17:17:01  0292561234 Dial 
2012-03-07 12:01:39  500   Queue,Queue,Queue 

我使用錯誤的腳本嗎?

請注意。

謝謝

+0

除了時間格式之外,您希望的結果看起來像您的輸出。 – Kermit 2013-02-26 04:17:56

+0

你正在按'hour(calldate)'分組,所以你得到了你想要的。也許你的意思是'日期(カルダー)',所以你在'yyyy-mm-dd'上分組,而不是'hh'? – 2013-02-26 04:18:34

+0

你確定在16小時內沒有「撥號」嗎? – 2013-02-26 04:18:38

回答

1

嘗試以下:

SELECT SUBSTR(calldate,1,13) as date_hour, dst, GROUP_CONCAT(lastapp) 
FROM table 
GROUP BY date_hour 
0

這也將工作...

SELECT DATE_FORMAT(calldate,"%Y-%m-%d %h"), dst, GROUP_CONCAT(lastapp) 
FROM cdr 
GROUP BY hour(calldate) ;