sql分组排序(union order by排序问题)

在实际的查询过程中我们时常会有这样的需求:某一类数据很重要要排在前面,其他数据排在后面,默认安装创建时间或者其他字段进行排序,这时候最好的办法就是用union 将查询到的两个数据集进行组合排序,添加一个伪列对分组进行组外排序,sql如下:

select * from(
SELECT *,1 as 'sort' FROM sakila.film where rating='G'
union
select *,2 as 'sort' from sakila.film where rating!='G'
) a order by a.sort,a.rating,a.length

该sql的作用是突出rating='G'数据的重要性,将数据排在最前面,后面数据按照长度排序。

猜你喜欢

转载自blog.csdn.net/qq_36036540/article/details/81278362
今日推荐