精华内容
下载资源
问答
  • 需要对一天24小时的下单量进行时间段统计; 但是下单时间字段 pay_time 选取的是 timestamp 类型; 此时需要进行时间段数据分组剥离,在此做一下实现方式,请多指教 … 环境 框架:ThinkPHP5.1.2 系统:...
    • 背景
      今天在进行后台数据监控时;
      需要对一天24小时的下单量进行时间段的统计;
      但是下单时间字段 pay_time 选取的是 timestamp 类型;
      此时需要进行时间段的数据分组剥离,在此做一下实现方式,请多指教 …

    • 环境

    	框架:ThinkPHP5.1.2
    	系统:nginx/win10	、phpStudy2017
    

    实现方式

    1. 首先,考虑到使用的是 group分组技巧;
    • 那么就必须要将 pay_time 中记录的字段数据进行 24时的定位切分;
      这里可以用到 substring() 方法的支持 【字段取值举例:2019-08-23 09:25:09
    2. 以我的 ThinkPHP5框架的代码规范
    • 源码书写如下:
    $res = Db::name('order_goods og')
                ->field("substring(pay_time,12,2) hour,count(og.id) count")
                ->join("order_infos oi","oi.order_id = og.order_id")
                ->where([ ["pay_status","=",1]])
                ->group('hour')
                ->order('hour','asc')
                ->select();
    
    • 即对应的原生sql语句为:
    SELECT substring(pay_time,12,2) hour,count(og.id) count FROM tp5_xorder_goods og 
    INNER JOIN `tp5_xorder_infos` `oi` ON `oi`.`order_id`=`og`.`order_id` 
    WHERE `pay_status` = 1 
    GROUP BY `hour` 
    ORDER BY `hour` ASC
    
    • 得到的数据打印如下:
    3. 之后就是对得到的数据进一步的整理
    • 以我使用 ECharts图表库 进行数据展示为例,那么我的处理方式如下:
    $timeRes = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];
            foreach ($timeRes as $key => $value){
                foreach ($res as $key2 => $value2){
                    $hour = intval($value2['hour']);
                    if ($key == $hour){
                        $timeRes[$key] = $value2['count'];
                        //echo "hour:".$hour.";key:".$key.";count:".$value2['count']."<br/>";
                        break;
                    }else{
                        continue;
                    }
                }
            }
    
    4. 数据整合后,展示效果如下:

    展开全文
  • MySQL获取当天24小时的各个时间段

    千次阅读 2019-10-11 13:42:43
    MySQL生成当天24小时sql 需求:由于查询时候可能要按...##当天时间段 ##当天时间段 SELECT DATE_FORMAT( DATE_SUB( DATE_FORMAT( NOW(),'%Y-%m-%d'),INTERVAL ( -(@i:=@i+1) ) HOUR ) ,'%Y-%m-%d %H') AS 'time' ...

    MySQL生成当天24小时sql


    需求:由于查询时候可能要按小时来查询,如果某一个小时没有数据就显示为0 。

    解决方案:

    ##当天时间段
    SELECT   DATE_FORMAT( DATE_SUB( DATE_FORMAT( NOW(),'%Y-%m-%d'),INTERVAL ( -(@i:=@i+1) ) HOUR ) ,'%Y-%m-%d %H') AS 'time'
             FROM (
                  SELECT a  FROM 
                   (SELECT '1' AS a UNION SELECT '2' UNION SELECT '3' UNION SELECT '4'   ) AS a
                    JOIN ( SELECT  '1' UNION SELECT '2' UNION SELECT '3' UNION SELECT '4' UNION SELECT '5' UNION SELECT '6' ) AS b
                     ON 1
                   ) AS b  ,(SELECT @i:=-1)  AS i
    

    效果图:
    在这里插入图片描述
    如有错误,请留言。

    展开全文
  • 查询数据库当天某时间段数据

    万次阅读 2017-10-24 16:15:35
    如果查询固定时间段数据: "select * from biao where (here>=date(now()) and here(date(now()),INTERVAL 1 DAY)) and time(here) between time('8:00:00') and time(now()) order by here;"
    1、SQL在查询当天记录时要注意是从当天的0点0分0秒0毫秒开始,到次日0点0分0秒0毫秒截止,但不包含次日的0点0分0秒0毫秒。
    
    2、注意:在不同数据库产品中,获得当天日期的函数不一样。
    
        MSSQL获得当前日期:convert(varchar(10),Getdate(),120)
    
        MYSQL获得当前日期:date(now())
        Oracle获得当前日期:to_char(sysdate,'yyyy-mm-dd')
    
        Access获得当前日期:date()
    
    3、在各个数据库里获得当天的记录写法为(假设表名为:Table_1,日期列名为:date_col):
    
        MSSQL获得当天记录:
    
    1
    select * from table_1 where date_col>=convert(varchar(10),Getdate(),120) and date_col<convert(varchar(10),dateadd(d,1,Getdate()),120)
        MYSQL获得当天记录:
    1
    select * from table_1 where date_col>=date(now()) and date_col<DATE_ADD(date(now()),INTERVAL 1 DAY)
        Oracle获得当天记录:
    
    1
    select * from table_1 where date_col>=to_char(sysdate,'yyyy-mm-dd') and date_col<to_char(sysdate+1,'yyyy-mm-dd')
        Access获得当天记录:
    
    1
    select * from table_1 where date_col>=date() and date_col<DateAdd("d",1,date())
    
    
    
    
    如果查询固定时间段的数据:
    "select * from biao where (here>=date(now()) and here<DATE_ADD(date(now()),INTERVAL 1 DAY)) and time(here) between time('8:00:00') and time(now()) order by here;"
    

    展开全文
  • laravel实现各时间段数量统计

    千次阅读 2018-08-21 15:50:57
    因项目中用到了图表之类的信息,需要获取到很多时间的数据动态,刚开始我都是自己换算时间来计算,后来看到手册中有更简单的方法,自己总结了一下通用的时间段统计(今天、昨天、上周、本周、上月、本月、上年、本年)...

    laravel实现各时间段数量统计、方便直接使用。

    因项目中用到了图表之类的信息,需要获取到很多时间的数据动态,刚开始我都是自己换算时间来计算,后来 看到手册中有更简单的方法,自己总结了一下通用的时间段统计(今天、昨天、上周、本周、上月、本月、上年、本年)。

    use Carbon\Carbon;
     
    public function getNumber()
    {
            $data = [];
    
            #今天数据
            $data['customer_today'] = Customer::where('customer_type', 1)->where('created_at', Carbon::today())->count();
            #昨天数据
            $data['customer_yesterday'] = Customer::where('customer_type', 1)->where('created_at', Carbon::yesterday())->count();
    
            // 本周数据
            $this_week = [Carbon::now()->startOfWeek(), Carbon::now()->endOfWeek()];
            $data['customer_this_week'] = Customer::where('customer_type', 1)->whereBetween('created_at', $this_week)->count();
    
            // 上周数据
            $last_week = [Carbon::now()->startOfWeek()->subWeek(), Carbon::now()->endOfWeek()->subWeek()];
            $data['customer_last_week'] = Customer::where('customer_type', 1)->whereBetween('created_at', $last_week)->count();
    
            // 本月数据
            $data['customer_this_month'] = Customer::where('customer_type', 1)->whereMonth('created_at', Carbon::now()->month)->count();
    
            // 上月数据
            $data['customer_last_month'] = Customer::where('customer_type', 1)->whereMonth('created_at', Carbon::now()->subMonth()->month)->count();
    
            // 本年数据
            $data['customer_this_year'] = Customer::where('customer_type', 1)->whereYear('created_at', Carbon::now()->year)->count();
    
           
            return $data;
    }

    文章已迁移:https://juejin.im/post/5d0c4564f265da1b8c199227

    展开全文
  • 查询每天几个时间段内的数据总和

    千次阅读 2019-01-15 16:08:51
    先说明数据库表: id simnumber 卡号 locationTime 记录时间 ...查询一个时间段 SELECT SimNumber, SUM(Time) FROM jsjk_location WHERE 1=1 AND LocationTime&gt;='2019-01-08' AND Locat...
  • 最近在研究报表,要做一个实时的统计一天各个时段的数据增量,以2小时为一组统计,发现这个sql语句不简单,和大家分享一下我的写法。 做出来的效果如下:   sql语句如下: select count(distinct ro....
  • 例如按照时间轴统计网站的在线人数,查看哪个时间段人最多,哪个时间段人最少,从而网站维护人员可以按照合适的时间分配资源,用户则可以选择合适的时间访问。 要做到以上所述的数据处理,涉及到两个问题:
  • SQL按时间分段分组统计数据

    万次阅读 2018-07-19 14:22:36
    下面sql条件中48表示时间段数(一天48个0.5小时即半小时分段统计,以此类推修改);--注释了查询条件即只统计错误或统计时间限制(hh24miss)内的数据;最后0和500分别为分页起止数。 查询行数据 select * from ...
  • 数据分析的入门思维,首先要认识数据,然后对数据进行简单的分析,比如描述性统计分析和相关性分析等。 一,认识变量和数据 变量和数据数据分析中常用的概念,用变量来描述事物的特征,而数据是变量的具体值,把...
  • 即:不同年龄的客户信息。 提前声明: 本题是作者根据自己的知识独立解决,并非标准答案,如果更好的答案,欢迎在下方留言 数据库中的表 知识储备 floor()函数:结果向下取整 now():获取当前具体时间 year()...
  • 虚拟化Xen平台中,Dom0和DomU之间发送网络数据各个部分所运行时间
  • 电商数据统计宝典

    千次阅读 2018-07-22 23:17:11
    在电商企业中,PM往往都不是主导性的岗位,例如在淘宝的...如何留住用户,是一个老生常谈的话题,对于电商企业来说,最好的数据莫过于高复购率,高客单价。所以我们需要活动,需要运营,去引导新老用户消费。那如...
  • SqlServer 查询一段时间,没有数据自动补充0

    千次阅读 热门讨论 2019-02-13 10:41:07
    业务需求:查询一段时间数据、前端生成折线或柱状图。时间不限、有可能是一个季度的,也有可能是一个月的。需要将每一天的数据都显示。数据是从定时任务中抽取回来的。 问题:假如查询时间为一个月、这一个月假.....
  • 最近公司项目需要按时间段对数据库进行一些删除操作,应为自己之前没有涉及所以上网查询了一下。现在闲下来整理一下虽然下面的例子只有查询操作,但是删除和修改也是可以的(可以举一反三),这里主要的是where后面...
  • Oracle查询一段时间内的数据

    千次阅读 2019-09-12 10:35:22
    本以为很简单的问题,今天做了一下还是感觉得多练习才可以各个数据库的写法可能不同 Oracle 方法如下: 1、select xmdadocdt from dsdata.xmda_t where xmdadocdt between to_date('2019-08-01','yyyy-mm-dd') ...
  • 注:本文中的SQL语句,皆在Oracle数据库中验证可用,几大主流数据库的SQL语句相近,其余数据库,各位可自行修改验证~ ...以下是每段时间内,各自的数据总数的SQL   SELECT DISTINCT HIRE_YEAR_MO...
  • Redis各个数据类型的使用场景

    万次阅读 2016-11-11 17:03:32
    Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。 Redis列表命令 参考:http://www.redis.net.cn/tutorial/3501.html 使用场景 ...
  • 例如,为了研究某一行业各个企业的产出与投入的关系,我们需要关于同一时间截面上各个企业的产出Q和劳动L、资本投入K的横截面数据。这些数据统计对象显然是不同的,因为是不同企业的数据。但是关于产出Q和投入L、K...
  • 因为需要完成如下图的效果需要查询出最近一个时间段内所有的记录总数 有两种方法HOUR()和DATE_FORMAT()。 HOUR()使用时如果计算最近一天的记录需要添加过滤条件,而DATE_FORMAT()不需要添加过滤条件默认查询...
  • 从日志统计到大数据分析

    万次阅读 2016-12-22 16:44:46
    桑文锋,神策数据创始人&CEO,前百度大数据部技术经理。2007年浙大研究生毕业后加入百度,从2008年开始从事数据方向,从零构建了百度的用户日志大数据处理平台。2015年4月从百度离职,创建神策数据,帮助客户实现...
  • 统计各个商品每月的销售金额

    千次阅读 2014-09-28 16:41:39
    统计各个商品每月的销售金额 select t.cardcode '客户编码',t1.itemcode '物料编码', isnull(convert(dec(18,2),sum(case month(t.docdate) WHEN '1' then t1.quantity * t1.price end)),0) '一月', isnull...
  • 我用tcpdump抓了手机的pcap log,这个log是在手机打开浏览器然后静止不动的情况下记录的,记录时间为24小时。那么问题来了,怎么看在这没有人为操作的24小时内手机各个应用后台所使用的数据流量?求大神指教。
  • oracle将时间段分割,按小时分组,求各个子时间段的分钟数
  • Druid (大数据实时统计分析数据存储)

    万次阅读 2016-12-18 09:48:14
    原文见此 : Druid White PaperDruid 是一个为在大数据集之上做实时统计分析而设计的开源数据存储。这个系统集合了一个面向列存储的层,一个分布式、shared-nothing的架构,和一个高级的索引结构,来达成在秒级...
  • 统计一个文件中各个字母出现次数

    千次阅读 2018-10-21 17:01:25
    import java.io.BufferedReader; import java.io.FileInputStream; import java.io.InputStreamReader; /** * @author 万星明 ...* 3、统计一个文件xxxx.txt中各个字母出现次数: * 例如(A(8),...
  • sql统计各分数人数示例

    万次阅读 多人点赞 2019-03-14 09:21:56
    SQL语句可以很方便帮助我们进行统计分析,例如统计各分数人数。90-100分数内的标记为A,80-89分数内的标记为B,70-79分数内的标记为C,60-69分数内的标记为D,小于60的标记为E,并统计各分数的人数。 –...
  • QQ在线人数统计数据解析

    万次阅读 2014-06-01 20:10:09
    我相信很多人一定去过这个地方: http://im.qq.com/online/index.shtml 这就是QQ在线人数统计图 再来看一个网址: http://cgi.im.qq.com/cgi-bin/minute_city 动态图里的Flash控件每隔一段时间会从这个网址拉取数据
  • TCP是面向连接的:在一个应用进程开始向另一个应用进程发送数据之前,这两个进程必须相互发送某些预备报文,以建立确保数据传输的参数(三次握手)。tcp连接状态完全保留在两个端系统中。TCP协议只在端系统中运行...
  • 统计分析基础 (一) 数据统计与图表

    万次阅读 2016-07-17 18:00:47
    统计学是在数据分析的基础上,自17世纪中叶产生并逐步发展起来的一门学科。...随着大数据(Big Data)时代来临,统计的面貌也逐渐改变,与信息、计算等领域密切结合,是数据科学(Data Science)中的重要主轴之一。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 544,248
精华内容 217,699
关键字:

如何统计各个时间段的数据