sql group by hour 按小时分组统计
Time字段以小时分组统计
select datepart(hour,time) hour,count(1) count from table
  where
  Similarity<75
  group by   datepart(hour,time) 
  order by count desc
From:https://www.cnblogs.com/xuejianxiyang/p/11202931.html
5分钟,半个小时,任意间隔分组分组
开发中遇到过问题就是对时间以半个小时分钟分组,如统计08:00-08:30的人数,08:30-09:00的人数,貌似sql中没有这样的函数吧,直接从数据库里查出来,在java里分组也太low了吧
想到方法1 自定义函数,自己实现时间的半个小时转换,统计时调用函数
CREATE  FUNCTION `date_half_hour_format`(in_date TIMESTAMP) RETURNS TIMESTAMP
BEGIN
	DECLARE out_date TIMESTAMP;
	DECLARE s_date VARCHAR(255);
	DECLARE s_minute VARCHAR(2);
	DECLARE int_minute INT;
SET s_minute = SUBSTRING(in_date, 15, 2);
	SET int_minute = CAST(s_minute AS SIGNED);
IF int_minute <= 29 THEN
	  SET int_minute = 0;
	  SET s_date = CONCAT(LEFT(in_date, 14),'0',int_minute);
	ELSE
	  SET int_minute = 30;
	  SET s_date = CONCAT(LEFT(in_date, 14),int_minute);
	END IF;
SET out_date = STR_TO_DATE(s_date,'%Y-%m-%d %H:%i');
RETURN out_date;
    END
方法2 学过c语言更清楚c语言创建时间都是一个long的时间戳,可以对时间做除法运算,就是时间long的值除以30*60,这样就能得出半个小时的时间了,mysql中有函数unix_timestamp获取long的时间,从long转date的form_unixtime
SELECT FROM_UNIXTIME((UNIX_TIMESTAMP(CURRENT_TIMESTAMP) DIV 1800)*1800)
这样就可以按任意时间分组了
https://blog.csdn.net/Hendiaome/article/details/72457506
sql group by hour 按小时分组统计的更多相关文章
- Mysql按周,按月,按日,按小时分组统计数据
		按周 select DATE_FORMAT(create_time,'%Y%u') weeks,count(caseid) count from tc_case group by weeks; ... 
- 半小时分组统计个数sql
		group by 最后一个时间是多少按多少分组 select count(1), trunc(a.refund_insert_time, 'hh24') + case when to_char(ref ... 
- LeetCode——Duplicate Emails(使用group by以及having解决分组统计结果)
		Write a SQL query to find all duplicate emails in a table named Person. +----+---------+ | Id | Emai ... 
- SQL Fundamentals: 分组统计查询(FROM-WHERE-GROUPBY-HAVING-SELECT-ORDER BY)
		SQL Fundamentals || Oracle SQL语言 统计函数 单字段分组统计(GROUP BY) 多字段分组统计 HAVING子句 控制操作的显示列:基本的SELECT语句 控制行:限定 ... 
- sql查询技巧,按时间分段进行分组,每半小时一组统计组内记录数量
		今天拿到一个查询需求,需要统计某一天各个时间段内的记录数量. 具体是统计某天9:00至22:00时间段,每半小时内订单的数量,最后形成的数据形式如下: 时间段 订单数 9:00~9: ... 
- Linq to SQL 语法查询(链接查询,子查询 & in操作 & join,分组统计等)
		Linq to SQL 语法查询(链接查询,子查询 & in操作 & join,分组统计等) 子查询 描述:查询订单数超过5的顾客信息 查询句法: var 子查询 = from c i ... 
- 分组统计并计算每组数量sql
		有 字段A 和B比如数据如下A B1 21 31 4 2 22 3 统计出的sql结果: A count 1 3 2 2 select a,count(b) from t gr ... 
- SQL group by分组查询(转)
		本文导读:在实际SQL应用中,经常需要进行分组聚合,即将查询对象按一定条件分组,然后对每一个组进行聚合分析.创建分组是通过GROUP BY子句实现的.与WHERE子句不同,GROUP BY子句用于归纳 ... 
- SQL  分组统计 行转列  CASE WHEN 的使用
		原文地址:http://blog.itpub.net/26451903/viewspace-733526 原文在分组统计部分 sql是有问题的 本文已将sql改正 已用红色标记 Cas ... 
随机推荐
- avalon  $computed不起作用?
			computed写的个数,应该是只能一个的,之前写了两个,一个是空,一个里面有数据,那个有数据的不起作用,但是在有数据的里面写一个一个console.log就会起作用,所以将多余的空的computed ... 
- NIO Channel SocketChannel ServerSocketChannel
			ServerSocketChannel: ServerSocketChannel是一个基于通道的socket监听器.它同我们所熟悉的java.net.ServerSocket执行相同的基本任务,不过它 ... 
- gdal 根据条件选择数据
- 超线程技术(Hyper—Threading Technology,HTT)
			什么是超线程技术 超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算.具体讲,就是通过CPU的寄存器构成了两个逻辑处理器,来共享处理器的物理执行单元 ... 
- ROS tf-增加坐标系
			博客参考:https://www.ncnynl.com/archives/201702/1312.html ROS与C++入门教程-tf-增加坐标系 说明: 介绍如何为TF增加额外固定的坐标系 为何增 ... 
- 泡泡一分钟:GEN-SLAM - Generative Modeling for Monocular Simultaneous Localization and Mapping
			张宁 GEN-SLAM - Generative Modeling for Monocular Simultaneous Localization and Mapping GEN-SLAM - 单 ... 
- 深入学习c++--多线程编程(三)thread的两种死法
			1. 生成了一个线程,需要告诉编译器是否管理 必须告诉编译器是不管理还是管理,否则直接down了 #include <iostream> #include <thread> # ... 
- forever at your feet
			A locket on a chainA bow that's made from rainA briar grows entwined with roseI've come to be foreve ... 
- 【翻译】Flink Table Api & SQL —Streaming 概念 —— 表中的模式匹配 Beta版
			本文翻译自官网:Detecting Patterns in Tables Beta https://ci.apache.org/projects/flink/flink-docs-release-1 ... 
- 单例设计模式代码-bxy
			struct ConnectInfo { const QObject *sender; //发送者 const char *signal_str; //发送信号 const QObject *reci ... 
