1,基本的DESC、ASC排序
select * from tableName order by columnName1 desc,columnName2 asc;
2,中文排序。MySQL查询对大小写不敏感,一般都用ISO-8859作为默认的字符集。所以就没有办法正确比较中文编码的字符。有两个办法可以解决:
1. 在建表时,包含中文字符的字段加上"binary"属性。例:name varchar(5) binary。
2. 在查询时强制MySQL使用指定的字符来进行查询,关键字"convert()"。例:
select * from tableName order by convert(columnName using gbk);
3,根据值进行排序
一次将字段值与"value1","value2","value3"进行比较,并按照对应的顺序进行输出,如果遇到str为null或者不存在的情况,则序列为0。
例:select * from tableName order by field(columnName,"value1","value2","value3");
本文介绍了数据库查询中的排序方法,包括基本的DESC和ASC排序,以及如何处理中文排序问题。针对中文排序,提出了两种解决方案:在建表时设置字段为'binary'属性或在查询时使用'convert()'函数指定字符集。此外,还讲解了根据特定值排序的field()函数用法,用于按预设顺序输出记录。
607

被折叠的 条评论
为什么被折叠?



