将一张表中某几个字段相同的记录排列到一起,并且排到表最前面

一张表中若干记录,将某几个字段相同的记录排列到一起,并且要放到表的最前面,请教一下大家有什么好的思路?

阅读 4.5k
1 个回答

先统计字段相同的条数,再连接表排序

select
    a.*
from 表 a
left join (
    select
        字段A, 字段B, 字段C, count(1) as total
    from 表
    group by 字段A,字段B,字段C
) b on a.字段A=b.字段A
    and a.字段B=b.字段B
    and a.字段C=b.字段C
order by b.total desc
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏