oracle每小时分组查询,Oracle 天内按小时分组查询有关问题
Oracle 天内按小时分组查询问题
本帖最后由 hao123yao 于 2013-03-08 11:30:56 编辑
表名c_data_01。表结构:
uuid c_id c_time a b c
1 0001 2013-3-6 00:01:00 1 1 1
2 0002 2013-3-6 00:00:00 1 1 1
3 0001 2013-3-6 00:01:30 1 1 1
4 0002 2013-3-6 00:01:35 1 1 1
其中uuid为主键,自增。c_id和c_time可以唯一确定一条数据。c_id大概有1万,c_time为时间格式。每个c_id大概每半分钟就有一条数据,时间无规律。数据量是有点大,已使用分区表(先以c_time天分区,再对c_id进行哈希分区)。a、b、c等为其它不重要字段。
问题一:
给定一个c_id和一个日期,查出该天内每个小时内的一条数据,即共有24条数据,每个小时一条。该条数据可以是小时内的随机数据,也可以是小时内最大时间对应的数据。
下面的语句是查询最大时间的,但速度有点慢。能否不用最大时间或者有没有更好查询的方法?
select *
from c_data_01
where c_id = '0001'
and c_time in
(select max(collect_time)
from c_data_01
where c_id = '0001'
and c_time >=
to_date('2013-3-6 00:00:00', 'yyyy-mm-dd hh24:mi:ss')
and c_time<
to_date('2013-3-7 00:00:00', 'yyyy-mm-dd hh24:mi:ss')
group by trunc(c_time , 'hh24'))
直接选取24条数据,速度还好。但又不能保证每小时有一条数据。
select *
from c_data_01
where c_id = '0001'
and c_time >=
to_date('2013-3-6 00:00:00', 'yyyy-mm-dd hh24:mi:ss')
and c_time<
to_date('2013-3-7 00:00:00', 'yyyy-mm-dd hh24:mi:ss')
and rownum
问题二:
如果要将每个c_id每个小时取出一条数据(无要求、随机什么的都可以)放入另外一张p_data表中。
若用最大时间或随机取数据,同样的问题,效率太低。有没有改进的方法或者其他更好的办法?
/*小时内最大时间*/
insert into p_data
select a1.c_id,a1.c_time,a1.a,a1.b,a1.c
from c_data_01 a1,
(select c_id, max(c_time) c_time
from c_data_01
where c_time >=
to_date('2013-3-6 00:00:00', 'yyyy-mm-dd hh24:mi:ss')
and c_time <
to_date('2013-3-7 00:00:00', 'yyyy-mm-dd hh24:mi:ss')
oracle每小时分组查询,Oracle 天内按小时分组查询有关问题相关推荐
- mysql查询一周内数据并分组_mysql 统计本周7天的数据并分组
今天写到项目的一个数据展示模块,最终要呈现的效果是用柱状图显示本周七天的访客数量,所以要给前端本周7天的数据 比如今天是周二(实际上也是),我们要给前端周一周二的数据,后面周三到周日因为还没到,数据置 ...
- Mysql中DATE_SUB 使用方法结合查询一天内,一周内,一月内的信息实例讲解
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 在对数据查询或菜单时经常要对指定的时间或时间段进行查询,例如要查询一天内的信息,要查询一周内的信息, ...
- oracle关联分组查询,oracle中关联查询、分组查询
高级查询 1.关联查询 作用:可以跨越多表查询 --查询出员工的名字和他所在部门的的名字 //古老的写法 select first_name,name from s_emp,s_dept where ...
- 318分组聚合,关联查询(多表连接查询)(连接查询),连接查询oracle写法,集合运算ld
----------分组聚合:对表里面的数据进行各个维度/角度的统计 -------------统计:需要用 聚合函数 max(目标字段):求最大值 min(目标字段) :求最小值 avg(目标字段) ...
- oracle 分组 排名,Oracle数据库之分组查询及排序
分组查询:使用 group by 来设置分组,把该列具有相同值的多条记录当成一组记录来处理,然后只会输出一条记录,得到的结果会默认使用升序的方式进行排列. 规则: (1)如果使用了分组函数,或者是 g ...
- oracle统计每日归档大小,Oracle查询最近几天每小时归档日志产生数量的脚本写法...
下面给大家分享Oracle查询最近几天每小时归档日志产生数量的脚本写法,脚本如下所示: SELECT SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH:MI:SS'),1 ...
- oracle数据库怎么分组查询,oracle数据库之分组查询
本章内容和大家分享的是数据当中的分组查询.分组查询复杂一点的是建立在多张表的查询的基础之上,(我们在上一节课的学习中已经给大家分享了多表查询的使用技巧,大家可以自行访问:多表查询1 多表查询2)而在 ...
- Oracle 语言分类 数据类型 数据类型转换 常用函数 集合操作 子查询
SQL分类 SQL(Structure Query Language)语言是数据库的核心语言.SQL语言共分为四大类:数据定义语言DDL,数据操纵语言DML,数据查询语言DQL,数据控制语言DCL.1 ...
- oracle取每日固定时间,Oracle查询每天固定时间段的数据
select * from GPS_LOG t where to_char(t.gps_time,'hh24:mm:ss')>='15:30:00'and to_char(t.gps_time, ...
最新文章
- python监听文件更改记录_如何用机器人监听老板微信?
- 增强.net开发的5个非常有用的Visual Studio 2012扩展
- 关于VS2005中的Code Snippets Manager的问题及解决
- java组件代码_[java]常用组件
- 编译C程序提示之'for' loop initial declaration used outside C99 mode
- js含有特定文字不能跳转
- 多对一(一对多)的双向关联
- @Inject.@Resource.@Autowired 的区别
- 自定义 View 实现汉字笔顺动画
- 逆clarke变换_克拉克(CLARKE)和帕克(PARK)变换
- oracle10.2.0.4 dbca,10.2.0.4 DBCA problem :Error securing Database Control,...
- 【绕口令】打南边来了个喇嘛(转载)
- 【lomoyi笔记】2020.7.31VMware虚拟机安装黑苹果macOS Catalina10.15
- Linux中的preempt_count
- python精彩语句(来日方长,慢慢录入)
- 无法定位程序输入点 getHostNameW 于动态链接库 WS2_32.dll
- r语言remarkdown展示图_十个超级好用的R语言编程技巧,一般人绝不知道!
- JAVA计算机毕业设计校园订餐系统(附源码、数据库)
- 使用码云和博客园学习简易教程
- STLINk驱动安装
热门文章
- 在Windows下搭建SVN服务器并且集成到 Eclipse 开发环境中
- 艾伟_转载:ASP.NET MVC数据验证
- 说说计算机发展史在你的印象里都有哪些内容,鱼池宣讲 | 专题采访 第二期 | 过去的一年里,你印象深刻的事情有哪些?...
- python的函数的对象属性_Python帮助函数调试函数 用于获取对象的属性及属性值...
- 【ABAP】如何判断单据是否被锁定
- ABAP--如何快速从BSEG读取数据
- FD32 查询客户信贷管理中,销售值是怎么来的?
- Oracle的一点注意点
- 预留在PP模块里面的作用
- CL_GUI_ALV_GRID 取消右鍵功能