校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > MYSQL每隔10分鐘進行分組統計的實現方法

MYSQL每隔10分鐘進行分組統計的實現方法

熱門標簽:東莞外呼企業管理系統 地圖簡圖標注 谷歌地圖標注位置圖解 沈陽智能外呼系統供應商 清遠申請400電話 南通電銷外呼系統哪家強 桂林云電銷機器人收費 如何選擇優質的外呼系統 手機外呼系統違法嗎

前言

本文的內容主要是介紹了MYSQL每隔10分鐘進行分組統計的實現方法,在畫用戶登錄、操作情況在一天內的分布圖時會非常有用,之前我只知道用「存儲過程」實現的方法(雖然執行速度快,但真的是太不靈活了),后來學會了用高級點的「group by」方法來靈活實現類似功能。

正文:

-- time_str '2016-11-20 04:31:11'
-- date_str 20161120

select concat(left(date_format(time_str, '%y-%m-%d %h:%i'),15),'0') as time_flag, count(*) as count from `security`.`cmd_info` where `date_str`=20161120 group by time_flag order by time_flag; -- 127 rows

select round(unix_timestamp(time_str)/(10 * 60)) as timekey, count(*) from `security`.`cmd_info` where `date_str`=20161120 group by timekey order by timekey; -- 126 rows

-- 以上2個SQL語句的思路類似——使用「group by」進行區分,但是方法有所不同,前者只能針對10分鐘(或1小時)級別,后者可以動態調整間隔大小,兩者效率差不多,可以根據實際情況選用

select concat(date(time_str),' ',hour(time_str),':',round(minute(time_str)/10,0)*10), count(*) from `security`.`cmd_info` where `date_str`=20161120 group by date(time_str), hour(time_str), round(minute(time_str)/10,0)*10; -- 145 rows

select concat(date(time_str),' ',hour(time_str),':',floor(minute(time_str)/10)*10), count(*) from `security`.`cmd_info` where `date_str`=20161120 group by date(time_str), hour(time_str), floor(minute(time_str)/10)*10; -- 127 rows (和 date_format 那個等價)

select concat(date(time_str),' ',hour(time_str),':',ceil(minute(time_str)/10)*10), count(*) from `security`.`cmd_info` where `date_str`=20161120 group by date(time_str), hour(time_str), ceil(minute(time_str)/10)*10; -- 151 rows


DELIMITER //

DROP PROCEDURE IF EXISTS `usp_cmd_info`;

CREATE PROCEDURE `usp_cmd_info`(IN dates VARCHAR(12))
BEGIN
 SELECT count(*) from `cmd_info` where `time_str` BETWEEN CONCAT(dates, " 00:00:00") AND CONCAT(dates, " 00:10:00") INTO @count_0;
 SELECT count(*) from `cmd_info` where `time_str` BETWEEN CONCAT(dates, " 00:10:00") AND CONCAT(dates, " 00:20:00") INTO @count_1;
 ...
 SELECT count(*) from `cmd_info` where `time_str` BETWEEN CONCAT(dates, " 23:40:00") AND CONCAT(dates, " 23:50:00") INTO @count_142;
 SELECT count(*) from `cmd_info` where `time_str` BETWEEN CONCAT(dates, " 23:50:00") AND CONCAT(dates, " 23:59:59") INTO @count_143;
 select @count_0, @count_1, @count_2, @count_3, @count_4, @count_5, @count_6, @count_7, @count_8, @count_9, @count_10, @count_11, @count_12, @count_13, @count_14, @count_15, @count_16, @count_17, @count_18, @count_19, @count_20, @count_21, @count_22, @count_23, @count_24, @count_25, @count_26, @count_27, @count_28, @count_29, @count_30, @count_31, @count_32, @count_33, @count_34, @count_35, @count_36, @count_37, @count_38, @count_39, @count_40, @count_41, @count_42, @count_43, @count_44, @count_45, @count_46, @count_47, @count_48, @count_49, @count_50, @count_51, @count_52, @count_53, @count_54, @count_55, @count_56, @count_57, @count_58, @count_59, @count_60, @count_61, @count_62, @count_63, @count_64, @count_65, @count_66, @count_67, @count_68, @count_69, @count_70, @count_71, @count_72, @count_73, @count_74, @count_75, @count_76, @count_77, @count_78, @count_79, @count_80, @count_81, @count_82, @count_83, @count_84, @count_85, @count_86, @count_87, @count_88, @count_89, @count_90, @count_91, @count_92, @count_93, @count_94, @count_95, @count_96, @count_97, @count_98, @count_99, @count_100, @count_101, @count_102, @count_103, @count_104, @count_105, @count_106, @count_107, @count_108, @count_109, @count_110, @count_111, @count_112, @count_113, @count_114, @count_115, @count_116, @count_117, @count_118, @count_119, @count_120, @count_121, @count_122, @count_123, @count_124, @count_125, @count_126, @count_127, @count_128, @count_129, @count_130, @count_131, @count_132, @count_133, @count_134, @count_135, @count_136, @count_137, @count_138, @count_139, @count_140, @count_141, @count_142, @count_143;
END //

DELIMITER ;

show PROCEDURE status\G

CALL usp_cmd_info("2016-10-20");

上面的這段MySQL存儲過程的語句非常長,不可能用手工輸入,可以用下面的這段Python代碼按所需的時間間隔自動生成:

import datetime

today = datetime.date.today()
# 或 由給定格式字符串轉換成
# today = datetime.datetime.strptime('2016-11-21', '%Y-%m-%d')

min_today_time = datetime.datetime.combine(today, datetime.time.min) # 2016-11-21 00:00:00
max_today_time = datetime.datetime.combine(today, datetime.time.max) # 2016-11-21 23:59:59

sql_procedure_arr = []
sql_procedure_arr2 = []
for x in xrange(0, 60*24/5, 1):
  start_datetime = min_today_time + datetime.timedelta(minutes = 5*x)
  end_datetime = min_today_time + datetime.timedelta(minutes = 5*(x+1))
  # print x, start_datetime.strftime("%Y-%m-%d %H:%M:%S"), end_datetime.strftime("%Y-%m-%d %H:%M:%S")
  select_str = 'SELECT count(*) from `cmd_info` where `time_str` BETWEEN "{0}" AND "{1}" INTO @count_{2};'.format(start_datetime, end_datetime, x)
  # print select_str
  sql_procedure_arr.append(select_str)
  sql_procedure_arr2.append('@count_{0}'.format(x))
print '\n'.join(sql_procedure_arr)
print 'select {0};'.format(', '.join(sql_procedure_arr2))

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

您可能感興趣的文章:
  • MySQL 統計查詢實現代碼
  • MYSQL中有關SUM字段按條件統計使用IF函數(case)問題
  • 如何使用MySQL查詢某個列中相同值的數量統計
  • 利用MySQL統計一列中不同值的數量方法示例
  • 單個select語句實現MySQL查詢統計次數
  • MySQL中幾種數據統計查詢的基本使用教程
  • mysql按照天統計報表當天沒有數據填0的實現代碼
  • MySQL按時間統計數據的方法總結
  • mysql 獲取規定時間段內的統計數據
  • MySQL統計函數GROUP_CONCAT使用陷阱分析
  • mysql滑動訂單問題原理與解決方法實例分析

標簽:內蒙古 成都 臨沂 天津 常德 重慶 貴州 湖州

巨人網絡通訊聲明:本文標題《MYSQL每隔10分鐘進行分組統計的實現方法》,本文關鍵詞  MYSQL,每隔,10分鐘,進行,分組,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MYSQL每隔10分鐘進行分組統計的實現方法》相關的同類信息!
  • 本頁收集關于MYSQL每隔10分鐘進行分組統計的實現方法的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    中文字幕一区二区视频| av日韩在线网站| 波多野结衣视频一区| 91麻豆精品久久久久蜜臀| 国产精品美日韩| 久久成人18免费观看| 欧美亚日韩国产aⅴ精品中极品| 精品国产区一区| 日本不卡免费在线视频| 日本韩国一区二区三区| 国产精品婷婷午夜在线观看| 久久精品国产第一区二区三区| 欧美婷婷六月丁香综合色| 中文字幕一区二| 国产成人三级在线观看| www国产精品av| 久久国内精品视频| 欧美一区二区精品在线| 亚洲bt欧美bt精品777| 99国产精品视频免费观看| 国产欧美精品一区二区色综合| 加勒比av一区二区| 欧美mv和日韩mv国产网站| 日本不卡一二三| 91精品一区二区三区久久久久久| 亚洲免费观看高清完整版在线| 成人国产视频在线观看| 国产精品美女久久久久aⅴ| 国产成人午夜片在线观看高清观看| 亚洲精品一区二区精华| 韩日av一区二区| 精品国产一区二区三区av性色 | 色天天综合久久久久综合片| 欧美国产一区二区| 99综合电影在线视频| 中文字幕日韩av资源站| 99re66热这里只有精品3直播 | 亚洲成av人片在www色猫咪| 欧美午夜片在线观看| 视频在线在亚洲| 欧美一区二区美女| 国产一区二区三区不卡在线观看| 欧美成人a在线| 国产美女视频一区| 国产精品国产三级国产aⅴ入口 | 国产激情一区二区三区四区| 精品成人一区二区三区| 国产成人综合亚洲网站| 综合分类小说区另类春色亚洲小说欧美| 成人app网站| 亚洲午夜国产一区99re久久| 555夜色666亚洲国产免| 蜜臀91精品一区二区三区 | 亚洲日韩欧美一区二区在线| 91欧美激情一区二区三区成人| 亚洲午夜精品17c| 欧美一区二区黄色| av一二三不卡影片| 天天做天天摸天天爽国产一区| 日韩欧美国产麻豆| av亚洲精华国产精华精| 香蕉加勒比综合久久| 欧美精品一区二区三区在线播放| 成人国产在线观看| 午夜私人影院久久久久| 久久久久久**毛片大全| 在线观看国产一区二区| 国产一区二区福利视频| 伊人婷婷欧美激情| 欧美成人vps| 欧美主播一区二区三区| 国产盗摄精品一区二区三区在线| **性色生活片久久毛片| 在线电影国产精品| 99久久精品国产一区二区三区| 亚洲成av人片在www色猫咪| 国产拍揄自揄精品视频麻豆| 精品视频在线免费| gogo大胆日本视频一区| 久草在线在线精品观看| 亚洲福利一区二区三区| 国产精品久久免费看| 欧美一区二区高清| 欧美午夜精品理论片a级按摩| 国产一区欧美二区| 天天av天天翘天天综合网| 亚洲婷婷综合色高清在线| 欧美电影免费观看完整版| 欧美在线一二三| 成人av电影在线播放| 国产精品主播直播| 久久99精品久久久久久动态图| 亚洲风情在线资源站| 亚洲欧美日韩国产手机在线| 欧美激情一区二区| 久久综合九色综合欧美98| 69堂国产成人免费视频| 91黄色激情网站| 91啪在线观看| 色哟哟一区二区| 99久久国产免费看| jlzzjlzz亚洲女人18| 成人做爰69片免费看网站| 国产美女一区二区| 国产综合色视频| 黄色成人免费在线| 国产一区二区剧情av在线| 久久99精品国产.久久久久| 免费观看久久久4p| 视频一区视频二区中文字幕| 亚洲国产精品影院| 亚洲成av人片在线| 亚洲高清视频中文字幕| 婷婷中文字幕一区三区| 五月激情丁香一区二区三区| 天天操天天干天天综合网| 日本视频在线一区| 精品制服美女丁香| 国产一区二区三区在线观看免费| 激情综合一区二区三区| 国产成人精品综合在线观看| 国产寡妇亲子伦一区二区| 国产不卡高清在线观看视频| 成人激情电影免费在线观看| 9久草视频在线视频精品| 91福利视频网站| 欧美一区二区在线播放| 精品粉嫩超白一线天av| 国产精品国产自产拍高清av王其| 中文字幕亚洲在| 性欧美疯狂xxxxbbbb| 极品少妇一区二区三区精品视频| 成人综合在线视频| 在线观看亚洲成人| 日韩一级成人av| 久久久亚洲精华液精华液精华液| 国产精品电影院| 午夜av一区二区| 国产成人亚洲综合色影视| 日本高清视频一区二区| 91精品国产入口| 中文字幕在线不卡一区| 天天综合色天天综合| 国产白丝网站精品污在线入口| 在线欧美日韩国产| 亚洲精品一线二线三线无人区| 最新成人av在线| 欧美a级理论片| 99久久婷婷国产综合精品电影| 欧美日本在线一区| 中文字幕精品综合| 亚洲成人av资源| 成人动漫在线一区| 日韩视频在线永久播放| 最新欧美精品一区二区三区| 日日骚欧美日韩| 99国产精品视频免费观看| 日韩一区二区在线播放| 中文字幕一区二区在线播放 | 成人动漫视频在线| 在线播放国产精品二区一二区四区| 国产亚洲欧洲997久久综合| 亚洲午夜影视影院在线观看| 国产成人综合在线| 欧美一区二区在线视频| 亚洲免费av在线| 国产不卡视频一区| 精品久久久久一区| 午夜电影一区二区| 在线这里只有精品| 亚洲四区在线观看| 国产激情视频一区二区在线观看 | 国产成人欧美日韩在线电影| 欧美日韩国产美| 亚洲伦理在线精品| 成人免费视频app| 亚洲精品一区二区三区精华液 | 欧美亚洲一区二区在线观看| 国产清纯美女被跳蛋高潮一区二区久久w | 69久久99精品久久久久婷婷| 自拍偷在线精品自拍偷无码专区 | 欧美日本高清视频在线观看| **欧美大码日韩| 北岛玲一区二区三区四区| 欧美成人午夜电影| 日韩福利电影在线观看| 欧美中文字幕不卡| 一区二区三区在线看| av电影天堂一区二区在线| 欧美国产日产图区| 成人夜色视频网站在线观看| 久久久久久一二三区| 韩国女主播成人在线| 精品国产精品网麻豆系列| 蜜臀久久99精品久久久久宅男 | 国产精品高清亚洲| 99riav久久精品riav| 中文字幕一区二区三区蜜月| 99国产欧美久久久精品| 亚洲精品乱码久久久久久黑人|