mysql 我取出俩字段 怎么根据他们的首字母进行排序?一个字段的时候知道怎么做!怎么把另一个加进去?

mysql 我取出俩字段 怎么根据他们的首字母进行排序?一个字段的时候知道怎么做!怎么把另一个加进去?,第1张

排序只能按一个字段来,要想2个一起排序需要把这2个字段放到一起,select col from (select a as col from tab union select b as col from tab) order by

你给出的结果要求的排序规则是什么?无法理解。排序无非是依据数字值和字符值。数字列类型很容易理解。字符类型就有很多。比如依据转换后的ASIIK码,汉字有首拼,笔画数,等等呢个。

SELECT username FROM `cmstop_member` WHERE username LIKE "bi%" ORDER BY CASE username WHEN username LIKE "bi%" THEN 1 ELSE 0 END

这个应该可以达到你的要求。匹配输入的结果再前显示。但是没有对,去除输入符之后的字符串排序

mysql的orderby可以排序多个

多个排序语法:

升序:select * from table_name order by 字段1,字段2

降序:select * from table_name order by 字段1 desc,字段2 desc

下面通个一个例子介绍:有表student,表记录有,当只做age的排序的时候,年龄从大到小的排列

当做age和id排序的时候,先是年龄排序,而同年龄时段的再按id大小排 。

       

mysql的order by可以排序多个,只需在order by 后面的字段用逗号隔开即可,多个排序是有效的。

     select * from table order by fileds limit 0,1000

      如果fileds相同,就会根据*号中第二列的默认排序,比如数值型的话就是从0、1、2、3这样,字符型可能就是首字母的顺序。

如果结果都一样就按照系统默认的排序排。

如果是 innodb引擎,会根据主键大大小,由小到大;

如果是myisam引擎,就根据数据插入顺序先后来排。

例如你表名 为test,sql 如下:

       select * from test order by `order` desc-----------------根据order降序排列,去掉末尾的desc就是升序。

注:order为关键字,所以字段order需要用反引号括起来,


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7530715.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-06
下一篇 2023-04-06

发表评论

登录后才能评论

评论列表(0条)

保存