2016-05-12 28 views
0

我當前的查詢是如何在使用group by時在單列中獲取多個值?

SELECT SUM(error_count) as error_count, job_id, operator_name 
from table_name 
GROUP BY operator_name 

,輸出是

error_count job_id operator_name  
17   12321  A.kumar 
11   2212  Bindu 
45   3412  Harish Babu 

這是正確來找錯誤計數,但即將到來的最後JOB_ID作業ID是不正確的。我想在逗號所有JOB_ID分隔

SELECT SUM(error_count) as error_count , job_id = some_func(""+job_id), operator_name 
from table_name 
GROUP BY operator_name 

這樣我就可以得到答案

error_count job_id   operator_name 
    17   12321,123  A.kumar 
    11   2212 ,111  Bindu 
    45   3412,3412  Harish Babu 

我希望這個問題是有道理的。

回答

2

試試這個,可能工作;)

SELECT SUM(error_count) as error_count , group_concat(job_id) as job_id, operator_name  
FROM table_name 
GROUP BY operator_name 

此外,看一看的GROUP BY (Aggregate) Function Descriptions

+0

由於它的工作,,,我有一些100000+記錄是這樣的這個group_concat影響速度 – user3619389

+0

寒喧我使用做和數據組和外部sql – user3619389

+0

你是什麼意思的外部SQL,是在'java'或'php'或其他? – Mippy

1

嘗試GROUP_CONCAT,

SELECT 
      SUM(error_count) AS error_count , 
      GROUP_CONCAT(job_id) AS jobids, 
      operator_name 
    FROM 
      table_name 
    GROUP BY 
      operator_name 
相關問題