我有這樣的一個表:MySQL的:「GROUP BY」不失標記
name
Smith
Smith
Perez
Pérez
我想消除像史密斯重複,但保留兩個佩雷斯和佩雷斯(E和E)。 如果我使用'group by',我會得到兩排(Smith和兩個Perez /Pérez之一),但是我想得到三排(Smith,Perez,Pérez)。 它發生合併乾燥和乾燥等相同 感謝
我有這樣的一個表:MySQL的:「GROUP BY」不失標記
name
Smith
Smith
Perez
Pérez
我想消除像史密斯重複,但保留兩個佩雷斯和佩雷斯(E和E)。 如果我使用'group by',我會得到兩排(Smith和兩個Perez /Pérez之一),但是我想得到三排(Smith,Perez,Pérez)。 它發生合併乾燥和乾燥等相同 感謝
1)首先檢查你的表,如果它與
select table_name,engine
from information_schema.tables
where table_schema = 'your_database'
2 UTF8字符集編碼)其次,如果不是比(否則跳過到第3步),改變你的表(UTF8編碼字符集,因此它將支持特殊字符)
ALTER TABLE `name` CHARACTER SET utf8;
3)從UTF8字符集你的數據庫選擇
select * from your_table group by name collate utf8_general_ci
我試過,沒有工作。不管怎麼說,還是要謝謝你。 –
所以你把你的表格改爲utf charset 8? –
'utf8_general_ci'在e和é之間沒有區別。你需要'unicode'支持。 – DanFromGermany
嘗試使用utf8_unicode_ci
而不是utf8_general_ci
- 它使用更準確的比較算法。
更妙的是:'utf8mb4_unicode_ci' – DanFromGermany
我嘗試使用utf8_unicode_ci和E和E之間仍然沒有區別。然後我嘗試使用utf8mb4_unicode,並得到了相同的結果:Perez和Pérez仍然被認爲是相同的。 –
你使用什麼字符集/校對? – Strawberry
我認爲更改排序規則到您的語言將有助於 – Alexander
我正在使用utf8/utf8_general_ci –