T1
F1 F2 F3 F4
a 2 2 NULL
a 2 3 UK
但我只想要結果是a 2 2,3 UK
如果我做選擇如何合併2排在MySQL
如何實現這一目標?
我找出來的結果是:2 2,3英國和2,3是F3場
T1
F1 F2 F3 F4
a 2 2 NULL
a 2 3 UK
但我只想要結果是a 2 2,3 UK
如果我做選擇如何合併2排在MySQL
如何實現這一目標?
我找出來的結果是:2 2,3英國和2,3是F3場
如果您想按F1和F2分組,並且在一個字符串中獲得F3的所有值,並用逗號分隔(這似乎是您要求的),那麼您將不得不使用GROUP_CONCAT。
select F1, F2, GROUP_CONCAT(F3 ORDER BY F3) as F3, F4 from T1 group by F1, F2
BTW請務必閱讀GROUP_CONCAT(見上面的鏈接)的文檔,因爲如果超過最大長度(默認情況下每1024個字符)這個字段將被截斷!你得到的F4的價值可能不是你期望的(因爲查詢使用了MySQL的許多煩人的「特性」之一)......如果F4包含兩行的UK,那麼它會更有意義,那麼你可以添加F4到分組by-clause。
select F1, F2, F3, F4 FROM T WHERE F4 is not null
U可以使用下面的查詢給出 -
select * from T1 where F4 is not null
這是你在看什麼呢?
如果第1行使用英國或美國而不是NULL,會發生什麼情況? – Mark 2010-08-03 08:56:21