Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.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_Sql Order By - Fatal编程技术网

mysql记录中的字母排序问题

mysql记录中的字母排序问题,mysql,sql-order-by,Mysql,Sql Order By,我有1000+关键字的表格 表定义 关键词 关键字\u id [请注意排序规则和字符集为utf-8] 关键字可以是字母表,带有UTE-8字符,如“α-抑制剂”和“25-羟基葡萄糖”。。。所以它们是字母、数字和特殊字符的混合体 对以上内容进行排序 按关键字+0 ASC从kword订单中选择* 保持字母在顶部,数字/特殊字符在末尾 当我尝试从html添加新关键字时,新添加的关键字开始出现在结果集中 例如: 算盘 阿魏肟 A. A. A. ……直到50个第一关键字 在加入“Biomatrix”之后。相

我有1000+关键字的表格

表定义 关键词 关键字\u id

[请注意排序规则和字符集为utf-8]

关键字可以是字母表,带有UTE-8字符,如“α-抑制剂”和“25-羟基葡萄糖”。。。所以它们是字母、数字和特殊字符的混合体

对以上内容进行排序

按关键字+0 ASC从kword订单中选择*

保持字母在顶部,数字/特殊字符在末尾

当我尝试从html添加新关键字时,新添加的关键字开始出现在结果集中

例如:

算盘 阿魏肟 A. A. A. ……直到50个第一关键字

在加入“Biomatrix”之后。相同的查询返回

算盘 阿魏肟 A. A. 生物基质 A. …直到50个关键字

你知道查询有什么问题吗?或者当你有这样一个混合字符时,还有什么其他的方法来排序mysql记录


关于,

您正在指定一种排序,将字母字符放在第一位,然后是数字,数字按顺序排序。没有关于字母字符如何排序的规则

如果希望字母字符按字母顺序排在第一位:

order by keyword + 0 ASC, keyword
如果要以相反的插入顺序首先插入字母字符:

order by keyword + 0 ASC, keyword_id desc;
order by (left(keyword, 1) between '0' and '9') desc,
         keyword_id desc;
如果希望字母字符先按逆插入顺序排列,然后按逆插入顺序排列数字:

order by keyword + 0 ASC, keyword_id desc;
order by (left(keyword, 1) between '0' and '9') desc,
         keyword_id desc;

注意,最后两个假设
关键字\u id
是一个自动递增的列,用作插入顺序的代理。

如果丢失
+0
,会发生什么情况?