作者:zwliang19 | 来源:互联网 | 2022-12-29 18:04
关于mysql排序在执行查询结果时,默认情况下查询结果无序排列。但我们有时需要对数据按一定规则进行排序。这时可以通过ORDERBY子句来实现这个功能。语法如下:SELECT
关于mysql排序
在执行查询结果时,默认情况下查询结果无序排列。但我们有时需要对数据按一定规则进行排序。
这时可以通过ORDER BY子句来实现这个功能。
语法如下:
SELECT <*,column [alias],...> FROM table
[WHERE condition(s)]
[ORDER BY column[ASC|DESC]];
默认是ASC指定的升序排列,DESC用来指定降序排列。
1、升序排序:
使用ORDER BY子句时,默认情况下数据是按升序排列的,故可以用ASC关键字指点升序排列,或者不指定,默认就是升序,显示效果是一样的,如下图:
2、降序排序:
当需要查询结果降序排列时,必须在排序后指定DESC关键字。
Mysql中的UTF-8字符集与字符集排序规则的选择
标准的UTF-8 字符集编码,是可以用 1~4 个字节去编码21位字符,是一种变长的编码格式,这几乎包含了是世界上所有能看见的语言了。 然而在MySQL里实现的utf8最长使用3个字节,节省空间但不能表达全部的UTF-8,只支持到了 Unicode 中的“基本多文种平面”(U+0000至U+FFFF,Basic Multilingual Plane,BMP),但并不是所有。
现在手机端常用的表情字符 emoji和一些不常用的汉字需要四个字节才能编码出来。
MySQL在 5.5.3 之后增加了 utf8mb4 字符编码,mb4即 most bytes 4,使用4个字节来表示完整的UTF-8,是utf8 的超集并完全兼容utf8,能够用4个字节存储更多的字符。 utf8mb4_bin: 将字符串每个字符用二进制数据编译存储,区分大小写,而且可以存二进制的内容。 utf8mb4_general_ci :不区分大小写,不支持扩展,它仅能够在字符之间进行逐个比较,没有实现Unicode排序规则,在遇到某些特殊语言或者字符集,排序结果可能不一致。但是,在绝大多数情况下,这些特殊字符的顺序并不需要那么精确。
utf8mb4_unicode_ci :是基于标准的unicode来排序和比较,能够在各种语言之间精确排序,unicode排序规则为了能够处理特殊字符的情况,实现了略微复杂的排序算法。
mysql的服务器连接排序规则怎么选择
sel