我有一個表,其中包含重復的條目code_number。
表:床單
id | code_number | animal | location
1 001 cow loc1
2 002 dog loc2
3 003 goat loc3
4 003 sheep loc4
5 003 elephant loc5
6 002 bird loc6
我即將洗掉重復記錄并將所有組欄位放入一個條目中。
根據上面的表格資料,我的預期結果是:
code_number | animal | location
001 | cow | loc1
002 | dog, bird | loc2, loc6,
003 | goat, sheep, elephant | loc3, loc4, loc5
我只能洗掉重復條目并保留一個條目。但是,我不知道如何在洗掉其余重復條目的同時將記錄更新/復制到一條記錄中。
DELETE n1 FROM sheets n1, sheets n2
WHERE n1.id > n2.id AND n1.code_number = n2.code_number;
我怎樣才能在一個查詢中做到這一點?
uj5u.com熱心網友回復:
試試下面的代碼來準備逗號分隔值。
SELECT code_number, group_concat(animal) animal, group_concat(location) location FROM sheet GROUP BY code_number
如果同一值多次存在一個代碼編號,則在 group_concat 函式中使用 DISTINCT 關鍵字。
將此查詢結果插入到不同的表中。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/493850.html
標籤:mysql
