当前位置:网站首页>Xiaobai needs to learn MySQL - incremental statistical SQL
Xiaobai needs to learn MySQL - incremental statistical SQL
2022-06-24 09:12:00 【bisal(Chen Liu)】
This article was launched in the open source community of aikesheng 《 Technology sharing | MySQL A cluster increment statistic in SQL The needs of 》.
My colleague raised a question MySQL In the database SQL The problem of incremental statistics , I use test data to simulate , The test table tt There are three fields ,code Is the identification name ,cdate Is the corresponding date ,ctotal It's a statistic ,

The original statistical statement , according to code and cdate Clustering , Count out each code Every month ctotal Accumulated records ,

But his need is to be able to follow code+cdate The statistical value of is displayed accumulatively , For example, the first line in the above figure total yes 10, Second elements total Show 10+9=19, In the third line total Show 10+9+11=30, And so on .
What he needs is total Line by line ,MySQL Can be achieved by defining variable accumulation , utilize @i Line by line ,

But there's a problem , Different code, No zeroing , For example, in the figure above ,code=BBB The first line of the record ,total Should be 5, Now it's 35, Obviously 30+5 Got .
There should be another logic , according to code While clustering sum Sum calculation , As shown below , Now you can see ,g_total according to code and cdate Add up , Different code, It will return to zero , Recalculate ,

In fact, this one can be optimized ,MySQL 8.0 Support with, Above SQL Chinese vs tt The table was read twice , With the help of with, It can be reduced to read only once tt surface ,

in addition , Combined with the actual retrieval scenario requirements , Consider adding indexes to related fields , Further improve the efficiency of data retrieval .
Of course , The above SQL There may be other alternatives or better solutions , This article only gives one of the solutions .
therefore , adopt SQL Achieve business needs , On the one hand, we need to fully understand the meaning of requirements , Can accurately map to specific SQL logically , On the other hand, you should know the functions supported by the database 、 function 、 Characteristics, etc. , Whether there is an implementation that can meet this requirement , besides , Non functional factors , It can't be ignored , The right index 、 Avoid reading data repeatedly 、 Avoiding unnecessary sorting and so on are the means we can use , This is it. " work out measures to suit local conditions , The water is impermanent ".
Xiaobai studies MySQL
《 Xiaobai studies MySQL - You've encountered this kind of scenario where you can't log in ?》
《 Xiaobai studies MySQL - There are some differences between users created by different versions 》
《 Xiaobai studies MySQL - A tool for randomly inserting test data 》
《 Xiaobai studies MySQL - varchar Why are type fields often defined as 255?》
《 Xiaobai studies MySQL - A case of flexible index creation 》
《 Xiaobai studies MySQL - “ Be opportunistic ” The number of records in a statistical table 》
《 Xiaobai studies MySQL - Once slow SQL The positioning of 》
《 Xiaobai studies MySQL - Talk about the importance of data backup 》
《 Xiaobai studies MySQL - InnoDB Support optimize table?》
《 Xiaobai studies MySQL - table_open_cache The role of 》
《 Xiaobai studies MySQL - Table space defragmentation method 》
《 Xiaobai studies MySQL - Case sensitive problem solving 》
《 Xiaobai studies MySQL - only_full_group_by Validation rules for 》
《 Xiaobai studies MySQL - max_allowed_packet》
《 Xiaobai studies MySQL - mysqldump Parameter differences to ensure data consistency 》
《 Xiaobai studies MySQL - The query will lock the table ?》
《 Xiaobai studies MySQL - The problem of index key length limitation 》
《 Xiaobai studies MySQL - MySQL Will be affected by “ High water level ” Influence ?》
《 Xiaobai studies MySQL - Database software and initialization installation 》
《 Xiaobai studies MySQL - Chat 》
Recently updated articles :
《 Several guesses about the design of Tencent conference number 》
《 China Super League and Guoan in the new season , Through the thorns 》
《Oracle Of CTAS Can I bring constraints and other attributes to the new table ?》
Article classification and indexing :
边栏推荐
猜你喜欢

深入了解 border

2022-06-23:给定一个非负数组,任意选择数字,使累加和最大且为7的倍数,返回最大累加和。 n比较大,10的5次方。 来自美团。3.26笔试。

4274. suffix expression

Ebanb B1 Bracelet brush firmware abnormal interrupt handling

Digital cloud released the 2022 white paper on digital operation of global consumers in the beauty industry: global growth solves marketing problems
Depens:*** but it is not going to be installed

华为路由器:GRE技术
![[Niuke] convert string to integer](/img/56/3e491b3d0eea0d89a04d0b871501d7.png)
[Niuke] convert string to integer

【LeetCode】415. String addition

Spark - the number of leftouterjoin results is inconsistent with that of the left table
随机推荐
2022-06-23: given a nonnegative array, select any number to make the maximum cumulative sum a multiple of 7, and return the maximum cumulative sum. N is larger, to the 5th power of 10. From meituan. 3
深入解析 Apache BookKeeper 系列:第三篇——读取原理
How to import MDF and LDF files into MySQL workbench
12、 Demonstration of all function realization effects
Target detection series fast r-cnn
活动报名|Apache Pulsar x KubeSphere 在线 Meetup 火热报名中
Huawei Router: IPSec Technology
MYCAT read / write separation and MySQL master-slave synchronization
[Niuke] length of the last word of HJ1 string
【LeetCode】387. 字符串中的第一个唯一字符
[noi simulation] pendulum (linear algebra, Du Jiao sieve)
The native applet uses canvas to make posters, which are scaled to the same scale. It is similar to the uniapp, but the writing method is a little different
怎么把mdf和ldf文件导入MySQL workbench中
浮点数表示法(总结自CS61C和CMU CSAPP)
I heard that you are still spending money to buy ppt templates from the Internet?
【LeetCode】415. String addition
MySQL data (Linux Environment) scheduled backup
Data middle office: a collection of middle office construction architectures of large domestic factories
leetcode——错误的集合
Redis实现全局唯一ID