MySQL - 订购重音符号和非重音符号,非重音符号

时间:2017-04-06 09:25:47

标签: mysql sql-order-by collation accent-sensitive

请注意,此问题与搜索(非)重音字符无关。

假设我的表格中有一列name,其排名为utf8mb4_unicode_ci

此排序规则完全适用于选择基本选择
在案例中 - 敏感,重音 - 敏感方式。

问题是我需要以敏感的方式在敏感和case- 中订购结果。

这样做的目的是选择以某个字符/字符串开头的每个名称并按字母顺序排序"",首先应该不重音,然后重音。

从选择中:

Črpw
Cewo
céag
čefw

最终结果应为:

Cewo
céag -- because accented e is more than non-accented
čefw  
Črpw -- because r is more than e

请注意c / C< č / Č,但是较低/较高的案例处理为等于。

我尝试搜索此问题,但只有弹出的 类似的 有关搜索的问题或问题,但事实并非如此,搜索本身就没问题。

从提及我尝试过这个测试查询:

SELECT * FROM
(SELECT 'Črpw' as t
UNION SELECT 'Cewo'
UNION SELECT 'céag'
UNION SELECT 'čefw')virtual
ORDER BY t COLLATE utf8mb4_czech_ci ASC

这会产生非常 类似 的东西

céag
Cewo
čefw
Črpw

但请注意,é之前已订购e

有没有办法达到我想要的结果顺序?

使用:MySQL 5.5.54(Debian)

0 个答案:

没有答案