私はこのようなテーブルを持っています:
id | name
----------------
1 | àbbot
2 | about
3 | zorro
次のように、大文字と小文字を区別しないコンテキストで最初の文字を選択します。
let
----------
a
z
しかし、それらのいずれも、ユニコード照合を使用すると、同じ間違った結果が得られます。
SELECT LOWER(SUBSTR(name,1,1)) AS let FROM t GROUP BY let
SELECT LOWER(SUBSTR(name,1,1)) AS let FROM t GROUP BY letter ORDER BY let ASC
SELECT * FROM
(SELECT LOWER(SUBSTR(name,1,1)) AS let FROM t ORDER BY let DESC) AS x
GROUP BY let ORDER BY let ASC
間違った結果:
let
----------
à
z
キャストせずに順序を修正する方法はありますか?(日本語などの非ラテン語もカバーする必要があるため)。
たぶん私は古いバージョンのMySQLを持っています...あなたの環境でクエリをテストできますか?
前もって感謝します!