爱生活,爱分享


MySql 实现分组排序

haiten 2022-02-09 878浏览 0条评论
首页/正文
分享到: / / / /
SELECT 
  @row_number:=CASE WHEN(
    @group_n1 COLLATE utf8mb4_unicode_ci = town
    AND
    @group_n2 COLLATE utf8mb4_unicode_ci = village
  ) THEN(@row_number + 1) ELSE(1) END AS row_number,
  @sum_num:=CASE WHEN(
    @group_n1 COLLATE utf8mb4_unicode_ci = town
    AND
    @group_n2 COLLATE utf8mb4_unicode_ci = village
  ) THEN(@sum_num + IFNULL(num, 0)) ELSE(1) END AS sum_number,
  @group_n1:=town AS group_n1,
  @group_n2:=village AS group_n2,
  t.*
FROM (
  SELECT * FROM fydj_address
  ORDER BY town, village, last_edit_time DESC
) AS t, (
  SELECT
    @row_number:=0, @sum_num:=0,
    @group_n1:='', @group_n2:=''
) AS tmp
;
最后修改:2022-02-09 09:28:27 © 著作权归作者所有
如果觉得我的文章对你有用,请随意赞赏
扫一扫支付

上一篇

发表评论

说点什么吧~

评论列表

还没有人评论哦~赶快抢占沙发吧~