Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
以符号作为第一个字母的MySQL排序_Mysql_Sorting - Fatal编程技术网

以符号作为第一个字母的MySQL排序

以符号作为第一个字母的MySQL排序,mysql,sorting,Mysql,Sorting,我有一个包含以下行的MySQL表: ¡Hola! ¿Qué tal? Fine Hello Adiós How are you? 如何对它们进行排序以获得此结果: Adiós Fine Hello ¡Hola! How are you? ¿Qué tal? 我希望MySQL忽略非字母数字字符。 在不使用简化值创建新列的情况下,可以快速完成此操作吗?不幸的是,在MySQL中这样做是一件臭名昭著的麻烦事 看 试试这个: ORDER BY replace(replace(phrase,'¿',''

我有一个包含以下行的MySQL表:

¡Hola!
¿Qué tal?
Fine
Hello
Adiós
How are you?
如何对它们进行排序以获得此结果:

Adiós
Fine
Hello
¡Hola!
How are you?
¿Qué tal?
我希望MySQL忽略非字母数字字符。

在不使用简化值创建新列的情况下,可以快速完成此操作吗?

不幸的是,在MySQL中这样做是一件臭名昭著的麻烦事

试试这个:

ORDER BY replace(replace(phrase,'¿',''),'¡','')
在对短语进行排序时,从短语中删除西班牙语前缀标点符号。人们希望MySQL有一个REGEXP_REPLACE函数


至于性能,除非你有无数的短语,否则你应该对orderby函数没问题。几十个,没问题。

删除符号后,您想要什么排序顺序?英语?西班牙语?另一个?我正在使用UTF8西班牙语排序字符,比如ññÁéü可能会出现大约30000个短语(电影标题),我的服务器必须处理每秒100多个请求的峰值。我认为最好的方法是制作一个新的栏目,去掉符号。我同意,如果你在这个尺度上工作的话。但您可能需要研究全文索引。