2011-05-16 295 views
0

任何人都可以讓我知道如何限制在MySQL中的每個組的GROUP_CONCAT值的數量?我使用下面的查詢也爲每個組mysql,使用group_concat

SELECT GROUP_CONCAT(remaining) 
    FROM `busroute` 
GROUP BY bus 

任何人都可以讓我知道如何修改我的問題上面的查詢生產超過2個連接值?

+0

在使用'GROUP_CONCAT'之前,您需要一個派生表/內嵌視圖,其中只包含最終結果中想要的值。這個問題缺乏正確回答的必要細節。 – 2011-05-16 04:22:10

回答

0

我不知道一種方法來限制分組的行數,我認爲你不能這樣做。

但如果你只打算想有要組兩行,您可以在兩行做一次分組和手動GROUP_CONCAT只有組:

SELECT t1.bus, concat(t1.remaining, ',', t2.remaining) 
FROM busroute as t1 
    JOIN busroute as t2 on t1.bus = t2.bus 
WHERE t1.id < t2.id 

這裏,我們剛剛獲得了busroute表的兩個副本,然後將它們連接到總線號碼上,然後我們在該行中取一些唯一的列值(只要列上的唯一屬性設置爲列即可),並消除匹配一排反對自己。我使用'<'而不是'<>',因爲我只想匹配同一對非唯一行一次。