Mysql排序,下划线优先
Mysql sort, giving priority to underscore
我在 MySQL 中有这个字段。 (变量)
其中存储产品代码。有像:
ABC
ABCG
ABC_K
当我在此字段 ASC 上使用 order by 时,得到了上述结果。
我需要给下划线更多的优先权。这样结果就变成了这样:
ABC
ABC_K
ABCG
因为 ABC_K 与 ABC 的相关性高于 ABCG。
是否可以使用 MySQL 或我应该使用 PHP 排序?
感谢您的宝贵时间。
尝试:
ORDER BY REPLACE(prm, '_', ' '), prm
Space 个字符排在字母之前,因此这将给予它们优先权。
尝试
select prm from tablename order by replace(prm,"_","a") asc;
你可以得到你想要的。试一试。
我在 MySQL 中有这个字段。 (变量) 其中存储产品代码。有像:
ABC
ABCG
ABC_K
当我在此字段 ASC 上使用 order by 时,得到了上述结果。
我需要给下划线更多的优先权。这样结果就变成了这样:
ABC
ABC_K
ABCG
因为 ABC_K 与 ABC 的相关性高于 ABCG。
是否可以使用 MySQL 或我应该使用 PHP 排序?
感谢您的宝贵时间。
尝试:
ORDER BY REPLACE(prm, '_', ' '), prm
Space 个字符排在字母之前,因此这将给予它们优先权。
尝试
select prm from tablename order by replace(prm,"_","a") asc;
你可以得到你想要的。试一试。