成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

mysql累加計算實現方法詳解

瀏覽:52日期:2023-10-14 18:30:57

本文實例講述了mysql累加計算。分享給大家供大家參考,具體如下:

前言

接了一個需求,產品想分析一下用戶增長的曲線。也就是某個時間段的每日總人數列表。好對近期活動進行一個效果的評測。這個統計sql還是花了我一小段時間的。mysql統計這個還是需要一定的技巧的。

需求分析 user_id reg_time 1 2019-09-03 2 2019-09-04 3 2019-09-04 4 2019-09-05 5 2019-09-05 6 2019-09-06

假如上表user_info,我們很容易根據時間維度統計出每日新增的人數。sql如下:

select reg_time, count(user_id) daily_quantity from user_infogroup by reg_time

通過上面的sql我們很容易得出以下列表:

reg_time daily_quantity 2019-09-03 1 2019-09-04 2 2019-09-05 2 2019-09-06 1

但是這個并不是我們想要的結果。我們想要的應該是 上一天的總人數加上今天的凈增長數,以此類推。也就是我們想要:

reg_time daily_quantity 2019-09-03 1 2019-09-04 3 2019-09-05 5 2019-09-06 6

這就有點棘手了,我們需要進行累加計算。我嘗試了自鏈接,函數等一些操作后還是沒有得到一個正確的結果。這時想到如果是java代碼處理這個就再合適不過了,我們只要聲明初始值,然后循環累加就能計算出結果了:

public static void main(String[] args) { int[] arr = {1, 2, 2, 1}; int[] ints = dailyQuantityArr(0, arr); for (int i : ints) { System.out.println('i = ' + i); } } public static int[] dailyQuantityArr(int base, int[] dailyIncrQuantity) { int[] result = new int[dailyIncrQuantity.length]; // 累加填充 for (int i = 0; i < dailyIncrQuantity.length; i++) { base += dailyIncrQuantity[i]; result[i] = base; } return result; }

上面的偽代碼就可以計算出結果。當然如果可以的話盡量在java業務代碼進行這種復雜運算。但是產品給出的需求是我們能夠提供一句sql能夠直接在可視化數據引擎中得出他要的答案。于是從上面的代碼得出靈感。mysql是否有這種變量呢? 有!當然有。記得很普遍的場景,以前經常有業務需要我們輸出序號,Oracle是自帶一個偽列rownum,但是mysql沒有。mysql通常通過聲明自增變量來生成序號。拿user_info表舉例子:

select (@i:=@i+1) as rownum, user_id from user_info ,(select @i:=0) as rMysql 用戶變量

mysql 變量分為 局部變量、用戶變量、會話變量、全局變量 。上面的語句我們使用的是用戶變量。用戶變量與數據庫連接有關,在連接中聲明的變量,在存儲過程中創建了用戶變量后一直到數據庫實例接斷開的時候,變量就會消失。在此連接中聲明的變量無法在另一連接中使用。MySQL中用戶變量不用事前申明,使用的時候以@varname的格式進行聲明。通過:=或者=進行賦值操作。如果需要對外輸出需要用select關鍵字,而且賦值必須使用:=。

使用Mysql用戶變量進行累加計算

我們學習了用戶變量后就知道如何進行累加計算了,那么user_info表的日累計總人數應該是這樣的:

select a.reg_time, a.daily, @i:=@i+a.daily as daily_quantity from (select reg_time , count(user_id) daily from user group by reg_time ) a , (select @i:=0) b

查詢的結果如下,符合邏輯需要。

reg_time daily daily_quantity 2019-09-03 1 1 2019-09-04 2 3 2019-09-05 2 5 2019-09-06 1 6

但是這里有一個小坑,在實際業務中@i初始化的時候有可能不為0,比如我們統計上面9月4號到9月6號這時候之前的總人數為1 。 這個要特別注意。實際業務開發中如果我們能在邏輯編碼中實現還是建議在邏輯編碼中進行一些復雜的運算。

總結

今天我們通過mysql用戶變量解決了一個在sql中累加計算的問題。不知道你有沒有其它好的思路呢?歡迎留言討論。

更多關于MySQL相關內容感興趣的讀者可查看本站專題:《MySQL查詢技巧大全》、《MySQL事務操作技巧匯總》、《MySQL存儲過程技巧大全》、《MySQL數據庫鎖相關技巧匯總》及《MySQL常用函數大匯總》

希望本文所述對大家MySQL數據庫計有所幫助。

標簽: MySQL 數據庫
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
欧美体内she精视频在线观看| 日本欧美一区二区| 日日摸夜夜添夜夜添精品视频| 好吊色欧美一区二区三区四区| 久久精品亚洲乱码伦伦中文| 丁香激情综合国产| 88在线观看91蜜桃国自产| 免费欧美在线视频| 91官网在线免费观看| 日韩专区一卡二卡| 榴莲视频成人在线观看| 亚洲国产欧美日韩另类综合| 亚洲综合视频一区| 午夜精品成人在线| 色综合av在线| 免费成人在线影院| 欧美少妇bbb| 久草在线在线精品观看| 欧美精品乱码久久久久久| 国产精品综合av一区二区国产馆| 欧美肥妇free| 国产成人精品综合在线观看| 欧美一级艳片视频免费观看| 国产精品综合一区二区| 91精品蜜臀在线一区尤物| 国产成人精品影视| 久久久久久日产精品| 欧美日韩国产综合在线| 国产精品看片你懂得| 韩日精品视频| 亚洲综合视频网| 亚洲看片一区| 亚洲国产成人porn| 色哟哟欧美精品| 九一久久久久久| 欧美一级日韩一级| 91美女在线视频| 亚洲欧洲日韩女同| 久久av二区| 美女一区二区三区在线观看| 欧美二区三区91| av日韩在线网站| 国产精品日日摸夜夜摸av| 永久91嫩草亚洲精品人人| 悠悠色在线精品| 色视频一区二区| 国产原创一区二区| 亚洲精品在线电影| 精品动漫一区| 午夜精品一区在线观看| 欧美视频一区二区三区| 丁香一区二区三区| 国产三级精品三级在线专区| 亚洲午夜精品国产| 午夜精品影院在线观看| 欧美日韩欧美一区二区| 99精品视频在线观看免费| 国产精品超碰97尤物18| 香蕉久久夜色| 国产做a爰片久久毛片| 欧美精品一区二区三区蜜桃| 欧美日韩在线精品一区二区三区| 中文字幕在线不卡一区| 麻豆精品网站| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 欧美一级国产精品| 欧美激情aⅴ一区二区三区| 亚洲一区二区三区在线播放| 欧美久久久久免费| 狠狠色狠狠色综合人人| 日韩国产成人精品| 精品福利在线导航| 日韩一区二区免费看| 日韩av电影免费观看高清完整版| 日韩欧美电影在线| 亚洲精品影院| 国产一区二区三区香蕉| 国产精品萝li| 欧美手机在线视频| 欧美欧美全黄| 日韩—二三区免费观看av| 久久婷婷国产综合精品青草| 亚洲一区二区三区高清| 国产高清在线精品| 洋洋成人永久网站入口| 日韩一区二区高清| 中文国产一区| 国产91精品欧美| 一区二区三区欧美在线观看| 538在线一区二区精品国产| 激情久久久久久| 国产精品一区二区x88av| 亚洲黄色av一区| 日韩免费一区二区| 一区二区三区三区在线| 国产精品一品二品| 亚洲午夜一区二区| 久久在线免费观看| 在线免费av一区| 亚洲视频一区| 国产盗摄视频一区二区三区| 亚洲精品老司机| 精品国产髙清在线看国产毛片| 亚洲综合激情| 欧美一区国产一区| 久久精品二区亚洲w码| 亚洲特级片在线| 精品久久国产字幕高潮| 色先锋资源久久综合| 欧美亚洲不卡| 国产成人精品三级| 无码av中文一区二区三区桃花岛| 国产日韩欧美电影| 欧美区在线观看| 国产麻豆综合| 欧美有码视频| 国产精品性做久久久久久| 亚洲高清一区二区三区| 欧美国产激情一区二区三区蜜月| 欧美一级午夜免费电影| 久热re这里精品视频在线6| 国产精品对白刺激久久久| 国产精品一区在线观看乱码| 日韩福利电影在线观看| 一区二区三区在线视频免费| 国产亚洲1区2区3区| 欧美一二区视频| 在线观看免费一区| 亚洲一区成人| 黄色av一区| 91首页免费视频| 国产成人av福利| 日本欧美一区二区三区| 一区二区三区中文在线观看| 久久九九久久九九| 91精品免费观看| 欧美三级欧美一级| 久久综合图片| 先锋a资源在线看亚洲| 在线免费观看一区二区三区| 91小视频在线免费看| 成人精品国产一区二区4080| 黑人巨大精品欧美黑白配亚洲| 日日夜夜免费精品视频| 亚洲国产视频一区| 亚洲图片激情小说| 国产精品国产三级国产有无不卡 | 欧美日本一区| 99精品国产一区二区三区不卡| 国产乱一区二区| 激情综合色综合久久| 免费xxxx性欧美18vr| 日韩专区中文字幕一区二区| 亚洲国产欧美日韩另类综合| 亚洲综合精品久久| 亚洲一区成人在线| 亚洲精品国产无套在线观| 中文字幕制服丝袜一区二区三区| 亚洲国产精品t66y| 国产欧美精品一区二区色综合 | 新狼窝色av性久久久久久| 亚洲国产欧美日韩| 精品99视频| 在线成人h网| 欧美性事免费在线观看| 亚洲欧美在线网| 91亚洲资源网| jvid福利写真一区二区三区| 成人av手机在线观看| 波多野结衣中文字幕一区二区三区| 国产.欧美.日韩| 成人激情综合网站| 99re8在线精品视频免费播放| 色综合久久中文综合久久97| 欧美在线播放| 欧美午夜不卡| 在线国产日韩| 一本久道久久综合狠狠爱| 99精品国产福利在线观看免费| 亚洲激情婷婷| 亚洲一区二区动漫| 久久成人资源| 欧美综合天天夜夜久久| 欧美系列日韩一区| 在线观看91精品国产麻豆| 日韩一区二区三区视频在线观看| 欧美电视剧在线观看完整版| 久久综合网色—综合色88| 国产日产欧美精品一区二区三区| 中文av一区特黄| 亚洲精品高清在线观看| 午夜亚洲国产au精品一区二区 | 红杏aⅴ成人免费视频| 日韩视频不卡| 国产免费成人| 91行情网站电视在线观看高清版| 欧美三级视频在线| 精品国产一区二区在线观看| 国产精品久久久久影院| 亚洲午夜日本在线观看|