sql 按字段指定值排序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 按字段指定值排序相关的知识,希望对你有一定的参考价值。

参考技术A

sql语句的排序,有止是 asc,desc 简单的正序、倒序排列,还可以根据需要字段的值,来执行排序。可使用如下方式:

1.点击新建查询:

2.输入如下语句:

    order by   

    case `A1`   

    when a2 then 1       // 当值为a2,排在第一个  

    when a3 then 2       // 当值为a3,排在第二个  

    when a1 then 3       // 当值为a1,排在第三个  

    end  

    asc     // 按上面顺序,正序排列(也可为desc)  

ORDER BY 语句用于根据指定的列对结果集进行排序。

ORDER BY 语句默认按照升序对记录进行排序。

如果希望按照降序对记录进行排序,可以使用 DESC 关键字。

拓展资料:

sql常见语句

更新:update table1 set field1=value1 where 范围

查找:select * from table1 where field1 like ’%value1%’ (所有包含‘value1’这个模式的字符串)

排序:select * from table1 order by field1,field2 [desc]

求和:select sum(field1) as sumvalue from table1

平均:select avg(field1) as avgvalue from table1

最大:select max(field1) as maxvalue from table1

最小:select min(field1) as minvalue from table1[separator]

参考资料: 

百度百科  SQL ORDER BY

SQL中升序排序字段为空值影响排序结果解决方法

参考技术A     在公司开发时使用order by *** asc 进行排序时(***字段为int类型,主要做一个按照数值越小排名越前得功能),出现了所有***列为NULL值的记录都排在前面的情况。

解决办法:在排序字段名前加上-,然后改为降序排序,这样子有数值的记录的排序还是跟原来一样(负负得正),并且这把***列值为NULL的记录都排在后面了

以上是关于sql 按字段指定值排序的主要内容,如果未能解决你的问题,请参考以下文章

若sql语句中order by指定了多个字段,则怎么排序?

MySQL 按指定字段自定义列表排序

Mysql中ORDER BY 排序怎么使用?指定顺序和多字段排列

想问下,sql 按 in 后的顺序排序问题。

若sql语句中order by指定了多个字段,则怎么排序?

oracle,如何添加排序编号字段