我必須How to use GROUP BY to concatenate strings in MySQL?類似的問題,但在這個例子中爲mytable
表如何連接字符串到基於組的新列BY
id string aggr
1 A NULL
1 B NULL
2 F NULL
不同的是,我需要更新表得到這個結果:
id string aggr
1 A A|B|
1 B A|B|
5 C C|E|C|
5 E C|E|C|
5 C C|E|C|
2 F F|
至於導致相同id
我們有相同的newcolumn
值。
在字符串的最後添加一個分隔符|
絕對沒問題。這樣我可以更快地計算newcolumn
中有多少「物品」,因爲最後(僅在兩者之間)的缺席而不添加+1
。當我在aggr
列中追加另外一兩個部分時,我也不會在乎驗證(如果我之前有管道)。
謝謝。
你確實需要更新一個表,或只顯示在視圖中的結果?您可以使用group_concat將多個行合併爲1,並實際使用計數函數來計算給定ID的字符串數量。 – xQbert
是的,我需要更新一個表格。是的,我知道表格會有冗餘數據。 – Haradzieniec