千家信息网

mysql如何实现每隔N行生成一个汇总行

发表于:2025-02-13 作者:千家信息网编辑
千家信息网最后更新 2025年02月13日,小编给大家分享一下mysql如何实现每隔N行生成一个汇总行,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!处理这种每隔N行生
千家信息网最后更新 2025年02月13日mysql如何实现每隔N行生成一个汇总行

小编给大家分享一下mysql如何实现每隔N行生成一个汇总行,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!



处理这种每隔N行生成一个汇总行的需求,一共有三种方式


  • select when c is null then '汇总' else '' end s,ifnull(c,sumc) c from (

  • select ceil(id/3) l,c,null sumc

  • from

  • (

  • select @id:=@id+1 id, t1.* from t t1,(select @id:=0) vars

  • ) t2

  • union all

  • select ceil(id/3) l,null,from

  • (

  • select @id1:=@id1+1 id, t1.* from t t1,(select @id1:=0) vars

  • ) t3

  • group by l

  • ) t order by l,ifnull(c,'9999');


  • 结果:




  • 第二招,数字辅助表补全. 性能较好. 计算汇总行,理解稍微复杂.



  • 先增加一个数字辅助表 nums


    1. table(int null)delimiter $$

    2. procedure pCreateNumscnt )

    3. declare s default;

    4. truncate nums while s= intoselect;

    5. set=+;

    6. end;

    7. $$

    8. ;


    9. create(intbegin

    10. int 1 table;

    11. insert nums s while s2= intoselect+from;

    12. set=*;

    13. end;

    14. $$

    15. ;


  • 初始化数字辅助表


  • select s,ifnull(c,cc) c

  • from (

  • select

  • when rn is null then '汇总' else '' end s,

  • t4.c,

  • if(mod(t3.id,4)!=0 ,when @total=-1 then @total:=t4.c else @total:=@total+t4.c end,@total) cc,

  • when mod(t3.id,4)=0 then @total:=-1 else null end

  • from (

  • select * from nums where id<=

  • (select (ceil(from t )

  • ) t3

  • join (

  • select

  • when mod(@rn+1,4)=0 then @rn:=@rn+2 else @rn:=@rn+1 end rn ,

  • t1.* from t t1,(select @rn:=0,@total:=0) vars

  • ) t4 on(t3.id=t4.rn)

  • ) result;


  • 这个理解稍微有点复杂,


  • 第二招改进版本


    1. select when id is null then '汇总' else '' end s,from (

    2. select @id:=@id+1 id, t1.* from t t1,(select @id:=0) vars

    3. ) t2

    4. group by ceil(t2.id/3),t2.id with rollup;



以上是"mysql如何实现每隔N行生成一个汇总行"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

生成 数字 篇文章 辅助 复杂 内容 不怎么 大部分 性能 方式 更多 版本 知识 结果 行业 资讯 资讯频道 需求 频道 参考 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 公安局开展网络技术检测 在线直播服务器 计算机网络技术李晓峰 中国电信网络安全员待遇 成都公共网络安全吗 临渭区法院网络安全检查 天津腾讯网络技术有限 工业信息网络安全研究中心 公司网络安全工作责任制 软件开发去哪些城市好 互联网未来的20大科技发明 软件开发和外包哪个好用 steam错误代码服务器 成都it软件开发能干到多少岁 腾讯云服务器root安装 vb 调用显示数据库 手机gps就是移动数据库 学网络技术的好处 垃圾分类软件开发的发展趋势 贵州储存服务器云服务器 一台普通服务器能支持多少长连接 企业服务器如何升级 中学网络安全应急机制制度 云南电商外贸软件开发 2022年网络安全周是几月几日 世界人口微观共享数据库 嵌入式与移动软件开发 上海通用软件开发厂家报价 服务单位网络安全保密协议 有人N540串口服务器
0