Sql排序时,如何将指定的值放在开头或结尾?
假设有三个字段的表: id、name和age。 如果需要按id对name=‘b’的记录进行排序,则将其显示在查询结果的末尾。
可以写如下:
将select * from ` test ` order by name=’ b ‘,id desc展示在最前面,可以写为:
SELECT * FROM `test` ORDER BY name!=’b ‘,id desc对多个字段进行排序后,name=’xxx ‘的顺序不同,结果也不同。 sql按照order by之后的顺序输出。
测试结果支持Mysql、Hive、Spark-sql和Kylin,请进行记录。