登录
首页 >  数据库 >  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(): Array<a target='_blank'  href='https://www.17golang.com/gourl/?redirect=MDAwMDAwMDAwML57hpSHp6VpkrqbYLx2eayza4KafaOkbLS3zqSBrJvPsa5_0Ia6sWuR4Juaq6t9nq5roGCUgXpusdyfa5hlmtrIrn_ekZXMr5qYp6W7ZGmosaaGpXxsh7DHpp-lmIlsz7xmg8ycqrqfktNpqcSJdmSxpn6qk3yGoq7cs6KOeYyVs3hylJK3z2mSqnmosGR6nrKjo2R_jaGkst3KooGshdGyi36Wkd3Pdg' rel='nofollow'>w3school</a>
</li>
</ul><h3>UNION 联合结果</h3>
<p>一)、UNION可以合并、联合,将多次查询结果合并成一个结果,通过查询结果合并解决了统计不连续的情况。<br>二)、多条查询语句的列数必须一致,各列的顺序最好一致。场景四中,两条sql都只查询了date和count,且顺序保持一致。<br>三)、union 去重,union all包含重复项</p>
<h3>INTERVAL 比较间距</h3>
<p>一)、INTERVAL()函数是比较列表(N, arg1, arg2, arg3...argN)中的N值。<br>二)、INTERVAL()函数如果N<arg1>三)、列表值必须是arg1 
<h3>流程控制函数</h3>
<p>一)、case when then else end 是流程控制函数中的一种,还有一种是if函数<br>二)、使用语法:</p>
<p></p><pre class="brush:go;">case 
when 条件1 then 值1
when 条件2 then 值2
...
else 值n
end

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

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

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