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");