当前位置: 首页 > 编程笔记 >

mysql的中文数据按拼音排序的2个方法

狄珂
2023-03-14
本文向大家介绍mysql的中文数据按拼音排序的2个方法,包括了mysql的中文数据按拼音排序的2个方法的使用技巧和注意事项,需要的朋友参考一下

客服那边需要我对一些酒店进行中文拼音排序,以前没有接触过,在php群里问了一些大牛。。得到了2种答案,都可以。哈哈·~
以下既是msyql 例子,表结构是utf-8的

方法一、


SELECT `hotel_name`

FROM `hotel_base`

ORDER BY convert( `hotel_name`

USING gbk )

COLLATE gbk_chinese_ci


方法二、

SELECT `hotel_id` , `hotel_name` , ELT( INTERVAL( CONV( HEX( left( CONVERT( `hotel_name`

USING gbk ) , 1 ) ) , 16, 10 ) , 0xB0A1, 0xB0C5, 0xB2C1, 0xB4EE, 0xB6EA, 0xB7A2, 0xB8C1, 0xB9FE, 0xBBF7, 0xBFA6, 0xC0AC, 0xC2E8, 0xC4C3, 0xC5B6, 0xC5BE, 0xC6DA, 0xC8BB, 0xC8F6, 0xCBFA, 0xCDDA, 0xCEF4, 0xD1B9, 0xD4D1 ) , ‘A', ‘B', ‘C', ‘D', ‘E', ‘F', ‘G', ‘H', ‘J', ‘K', ‘L', ‘M', ‘N', ‘O', ‘P', ‘Q', ‘R', ‘S', ‘T', ‘W', ‘X', ‘Y', ‘Z' ) AS PY

FROM hotel_base

ORDER BY PY ASC

方法一较方法二简单些 呵呵 希望对迷惑的人有帮助~~~

 类似资料:
  • 本文向大家介绍MySQL按照汉字的拼音排序简单实例,包括了MySQL按照汉字的拼音排序简单实例的使用技巧和注意事项,需要的朋友参考一下 如果存储姓名的字段采用的是GBK字符集,那就好办了,因为GBK内码编码时本身就采用了拼音排序的方法(常用一级汉字3755个采用拼音排序,二级汉字就不是了,但考虑到人名等都是常用汉字,因此只是针对一级汉字能正确排序也够用了)。 直接在查询语句后面 添加 order

  • 我需要一些关于mysql查询的帮助。 我有两张桌子, 正确的排序必须是: 1)光-3(3票) 2)光-2(2票) 2)光-1(2票) 2)光-4(1票)

  • 问题内容: 每个表(表1和表2)都有其自己的DATETIME字段。 我正在尝试捕获两个表的ID,并按其DATETIME字段对其进行排序。 例子: 我的输出未通过以下查询正确排序: 所需数据: 来自表2 id:2、1, 来自表1 id:3、2、1 因此:2、1、3、2、1 ////编辑 对于可能会遇到冗长而复杂的MySQL请求的人们,请在PhpmyAdmin中尝试一下!它会告诉您错误! ////编辑

  • 我有两个数组没有排序:float数组()和String数组()用于描述。 我需要从最高值到最低值对浮动数组进行排序,但是描述在字符串数组中,如果我对它们进行排序,字符串数组将不会相应地进行排序。

  • 问题内容: 我需要运行一个MySQL查询,该查询的顺序由数组值确定。 我的数组是可变的,但数组中的值对应于我的数据库表中名为“ ID”的字段,因此我希望结果以ID顺序9、1、4返回。 这在MySQL中是否可能,还是可以在之后使用数组对MySQL $ result进行排序?您可以假设返回的唯一值是数组中的值。 问题答案: http://dev.mysql.com/doc/refman/5.5/zh-

  • 问题内容: 我正在努力解决这个问题。我有这样一张桌子。 我想查询表,结果必须是这样。 查询: 如果该列的值为’A,B,C,D’,则可以正常工作。在某些情况下,某些列的顺序可能在table中没有价值。在这种情况下,我想为其设置0并构造一个结果。 表中没有D。因此,将其设置为“ 0”。 显示创建表输出 问题答案: 怎么这样: