登录
首页 >  数据库 >  MySQL

常见的统计解决方案

来源:SegmentFault

时间:2023-01-14 10:45:59 266浏览 收藏

在IT行业这个发展更新速度很快的行业,只有不停止的学习,才不会被行业所淘汰。如果你是数据库学习者,那么本文《常见的统计解决方案》就很适合你!本篇内容主要包括常见的统计解决方案,希望对大家的知识积累有所帮助,助力实战开发!

最近用MySQL做统计的需求比较多,这里整理一些常用的场景方便后期查阅,同时也是抛砖引玉的过程。其中包括普通的分组统计连续的每日统计区间范围统计

技术:MySQL, SpringDataJpa, Kotlin
说明:文章前半部分是场景分析,后半部分是语法分析
要点:GROUP BY, UNION, DATE_FORMAT, 流程控制函数

普通分组统计

场景一:根据订单状态统计订单数量。

一个很常见,也很简单的统计需求。其中状态字段是订单实体的一个属性。参考代码:(Kotlin语法)

@Query("SELECT status, COUNT(id) FROM Order GROUP BY status")
fun summaryOrderByStatus(): Arrayw3school

UNION 联合结果

一)、UNION可以合并、联合,将多次查询结果合并成一个结果,通过查询结果合并解决了统计不连续的情况。
二)、多条查询语句的列数必须一致,各列的顺序最好一致。场景四中,两条sql都只查询了date和count,且顺序保持一致。
三)、union 去重,union all包含重复项

INTERVAL 比较间距

一)、INTERVAL()函数是比较列表(N, arg1, arg2, arg3...argN)中的N值。
二)、INTERVAL()函数如果N三)、列表值必须是arg1

流程控制函数

一)、case when then else end 是流程控制函数中的一种,还有一种是if函数
二)、使用语法:

case 
when 条件1 then 值1
when 条件2 then 值2
...
else 值n
end

文章到这里就结束了。如果文章对你有帮助,可以点个"推荐",也可以"关注"我,获得更多丰富的知识。若文中有什么不对或者不严谨的地方,请指正。

以上就是《常见的统计解决方案》的详细内容,更多关于mysql的资料请关注golang学习网公众号!

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>