2013-06-04 72 views
0

我需要獲取每個總結行的ID。我發現Sql Server已經有了一個答案,但我需要在MYSQL中做到這一點。任何幫助是極大的讚賞!mysql - 獲取總計行的ID號

簡體,我有以下表quote_items:

id finishing_sf finish_id 
1 10   1 
2 20   2 
3 30   1 
4 40   2 

我想計算的finish_id分組的所有finishing_sf的總和還可以獲得包含ID列表中的另一列包含在這個總和。如下圖所示:

finish_id sum item_ids 
1   40 1,3 
2   60 2,4 

查詢會是這樣的:

SELECT SUM(`finishing_sf`) /* (list of IDs) */ 
FROM `quote_items` 
GROUP BY `finish_id` 

這裏的線程解釋如何使用SQL-Server特定的語法做到這一點。 Sql Server - Get Ids of summed rows

謝謝!

回答

0

看來你正在尋找GROUP_CONCAT這裏:

SELECT `finish_id`, 
      SUM(`finishing_sf`) AS `sum`, 
      GROUP_CONCAT(`id`) AS `item_ids` 
     FROM `quote_items` 
    GROUP BY `finish_id` 

SQL Fiddle

+0

不應該說是'GROUP_CONCAT(ID)'? –

+0

我已經修復了這個問題。 ) – raina77ow

+0

完美!謝謝您的幫助! – zwiebelspaetzle