1.使用case when方法(不建议使用)
-

 代码如下 复制代码
SELECT
    COUNT(DISTINCT user_id) user_count,
    CASE
   
WHEN create_time>1395046800 AND create_time<1395050400 THEN
'17:00-18:00'
    WHEN create_time>1395050400 AND
create_time<1395054000 THEN '18:00-19:00'
    WHEN
create_time>1395054000 AND create_time<1395057600 THEN
'19:00-20:00'
    WHEN create_time>1395057600 AND
create_time<1395061200 THEN '20:00-21:00'
    ELSE 'unknown'
    END AS
`date` www.111cn.net
FROM
    tb_user_online_log
WHERE create_time
>1395046800 AND create_time<1395061200
GROUP BY
    `date`
ORDER
BY create_time

结果如下

2.使用时间戳转换后分组

 代码如下 复制代码

SELECT
    COUNT(DISTINCT user_id) user_count,
   
FROM_UNIXTIME(
        create_time,
        '%Y-%m-%d %H:00:00'
    )
AS hours,
    CONCAT(FROM_UNIXTIME(create_time, '%Y-%m-%d
%H:00'),'-',FROM_UNIXTIME(create_time, '%H')+1,":00") AS `date`
FROM
   
tb_user_online_log
GROUP BY
    hours
ORDER BY
create_time

结果如下 www.111cn.net

注意:case when 效率不高,在数据量大时不推荐使用,这里仅列出解决方案,仅供参

原文来自:http://www.111cn.net/database/mysql/58986.htm

Mysql按时间段分组查询来统计会员的个数的更多相关文章

  1. Mysql按时间段分组查询

    Mysql按时间段分组查询来统计会员的个数,mysql个数 Mysql按时间段分组查询来统计会员的个数,mysql个数 1.使用case when方法(不建议使用)- 代码如下 复制代码SELECT ...

  2. Mysql:实现分组查询拼接未分组同一字段字符group_concat()

    Mysql:实现分组查询拼接未分组同一字段字符group_concat() MySQL中,如果想实现将分组之后的多个数据合并到一列,可以使用group_concat函数,如下图所示: 在oralce中 ...

  3. mysql group by分组查询后 查询个数

    mysql group by分组查询后 查询个数2个方法随便你选 <pre>select count(distinct colA) from table1;</pre>< ...

  4. solr4.5分组查询、统计功能介绍

    说到分组统计估计大家都不会陌生,就是数据库的group by语句,但是当我们采用solr4.5全文检索时,数据库提供再好的sql语句都没有任何的意义了,那么在solr4.5中我们如何做到分组统计呢?其 ...

  5. Mysql学习总结(23)——MySQL统计函数和分组查询

    1.使用count统计条数:select count(字段名...) from tablename; 2.使用avg计算字段的平均值:select avg(字段名) from tablename: 这 ...

  6. mysql按照时间分组查询

    mysql 按年.月.周.日分组查询 1.按照年份分组查询 SELECT DATE_FORMAT(t.bill_time,'%Y') month_time,sum(t.pay_price) total ...

  7. ORACLE分组查询和统计等

    select flow_id,rw from (select t.flow_id ,rownum as rw from apex_030200.wwv_flow_list_templates t)  ...

  8. mysql自定义时间段分组

    说明:一下是自定义7天为一个时间段的分组统计 select datediff(ms_time, '开始时间') div 7 as time , count(*) count,sum(money) mo ...

  9. mysql group by分组查询

    分组的SQL语句有2个: group by 和分组聚合函数实现 partition by (oracle和postgreSQL中的语句)功能 group by + having 组合赛选数据 注意:h ...

随机推荐

  1. 解决从内部存储设备安装apk提示Permission Denied

    做应用商店,下载apk,考虑一种情况,如果没有sd卡的情况下就将apk下载到 Internal Cache目录下. 下载都正常,但是在安装的时候提示Permission Denied /data/da ...

  2. 12个非常不错的免费HTML后台管理模板

    下面介绍的这些免费后端管理HTML模板,都非常不错.建议您收藏. 1.  Charisma Admin Template (示例) Charisma是一个响应式管理模板,基于Twitter Boots ...

  3. [Express] Level 4: Body-parser -- Delete

    Response Body What would the response body be set to on a DELETE request to /cities/DoesNotExist ? H ...

  4. Java 完美判断中文字符的方法

    Java判断一个字符串是否有中文一般情况是利用Unicode编码(CJK统一汉字的编码区间:0x4e00–0x9fbb)的正则来做判断,但是其实这个区间来判断中文不是非常精确,因为有些中文的标点符号比 ...

  5. NBUT 1225 NEW RDSP MODE I

    找出循环周期即可了 #include<bits/stdc++.h> using namespace std; int N,M,X; int time(int x,int y,int z) ...

  6. careercup-高等难度 18.1

    18.1  编写一个函数,将两个数字相加,不得使用+或其他算术运算符. int add(int a,int b) { ) return a; int sum=a^b; ; return add(sum ...

  7. 使用Linux的mail命令发送邮件

    由于经常工作在linux下,所以很多时候需要将自己工作的报告或其他有用的东东发送给相关的人,所以花时间研究了一下在linux下如何发送mail.我们通常能用到下面3中发送方式: 1. 使用Shell当 ...

  8. ubuntu13.04装配oracle11gR2

    http://jingyan.baidu.com/album/bea41d435bc695b4c41be648.html?picindex=2 http://www.360doc.com/conten ...

  9. RHEL 7 命令行注册和激活订阅服务

    导读 前一阵子,红帽推出了开发者免费使用订阅功能,只要注册成为红帽开发者就可以免费使用包括  RHEL7  在内的开发套件. 今天我们就来看一看怎么使用命令行来快速注册和激活订阅服务,以后就可以方便地 ...

  10. 永远不要在Linux 执行的 10 个最危险的命令

    转: http://www.tecmint.com/10-most-dangerous-commands-you-should-never-execute-on-linux/ http://www.l ...