添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

在最近项目中,有一个客户需求是针对每天所有时间点的数据,分割成每5分钟展示一个用户数总数。

数据情景是:

一个游戏中所有用户在线的时间数据(当然简单的求和,可能会有重复数据)。但在这重点是Oracle  SQL 中用于按照一定时间间隔分割的方法,具体5分钟分割实例如下:

SELECT tt.reasonContent,to_char(tt.day_id,'hh24:mi')daytime  ,tt.num FROM (

SELECT ll.day_id,ll.reasonContent,COUNT(*) num  FROM (

SELECT d.day_id,dd.logtime,dd.groupname,dd.userid,dd.reasonContent FROM (

SELECT i.logtime,i.gameid,i.Groupname,i.userid,i.reason,CASE WHEN dic.key_id IS NULL THEN '其他原因' ELSE dic.key_value END reasonContent  FROM

table  i  LEFT JOIN

tableDic dic  ON i.reason=dic.key_id )dd ,

(SELECT TO_DATE('2014-09-20 00:00:00','yyyy-mm-dd hh24:mi:ss') +(1 / 24 / 60 * 30 * (ROWNUM - 1)) DAY_ID FROM DUAL

CONNECT BY ROWNUM <= 288) D WHERE D.DAY_ID - (1 / 24 / 60 * 30) <= dd.LOGTIME AND D.DAY_ID >= dd.LOGTIME) ll GROU

在最近项目中,有一个客户需求是针对每天所有时间点的数据,分割成每5分钟展示一个用户数总数。数据情景是:一个游戏中所有用户在线的时间数据(当然简单的求和,可能会有重复数据)。但在这重点是Oracle SQL 中用于按照一定时间间隔分割的方法,具体5分钟分割实例如下:SELECT tt.reasonContent,to_char(tt.day_id,'hh24:mi')daytime ,tt.nu... 统计t_tjsj表中按照 cjsj (date类型)每5 分钟 统计0点到1点这个一 小时 时间 段内的数量: select lpad(floor(to_char(cjsj,'mi')/5)*5,2,0) cjsj, count(bh) num   from t_tjsj  where cjsj&gt;to_date('2018-04-15 00:00:00','yyyy-MM-dd hh 24 :m...
工作时碰到一个需求,需要将(15:00,16: 30 ,17:00)类型的字符串转换成(15:00——17: 30 )类型的字符串,即该字符串的第一个 时间 为开始 时间 ,最后一个 时间 需要加上 30 分钟 作为结束 时间 ,然后将开始 时间 和结束 时间 进行拼接。 步骤:先将该字符串 分割 ,然后增加最后一个 时间 段的值,最后将第一个 时间 段和增加后的最后一个 时间 段拼接到一块。 方法 一: 方法 二: (subst...
1.按年份查询 按年份 分组 查询后将结果按序排列 select to_char(SLRQ,'yyyy') ,count(*)from mv_ywst_fa group by to_char(SLRQ,'yyyy') ORDER BY to_char(SLRQ,'yyyy') 2.按季度查询 按季度 分组 查询后将结果按序排列 select to_char(SLRQ,'yyyy-Q') ,count(...
1.按照 时间 段进行 小时 的查询: select nvl(res_t1.tvalue, 0) , res_t2.datevalue from (select count(*) tvalue, to_char(START_TIME,'yyyy-mm-dd hh 24 ') timevalue from KEFU_HUAWU...
首先明确分区表和表分区的区别:表分区是一种思想,分区表示一种技术实现。当表的大小过G的时候可以考虑进行表分区,提高查询效率,均衡IO。 oracle 分区表是 oracle 数据库提供的一种表分区的实现形式。表进行分区后,逻辑上仍然是一张表,原来的查询SQL同样生效,同时可以采用使用分区查询来优化SQL查询效率,不至于每次都扫描整个表 一、分区表基本操作 1、按 时间 分区表创建: create
Oracle 中,可以使用内置函数 `REGEXP_SUBSTR` 来按指定的 分割 分割 字段。以下是一个示例: 假设有一个表 `employee`,其中包含一个名为 `name` 的列,每个值都是由逗号分隔的姓和名。现在要将姓和名分别显示在不同的列中。可以使用以下查询语句: ```sql SELECT REGEXP_SUBSTR(name, '[^,]+', 1, 1) AS last_name, REGEXP_SUBSTR(name, '[^,]+', 1, 2) AS first_name FROM employee; `REGEXP_SUBSTR` 函数的第一个参数是要 分割 的字符串,第二个参数是用于匹配的正则表达式模式,第三个参数是指定要获取的匹配项的出现次数,第四个参数是指定从哪个位置开始搜索。在上面的查询语句中,正则表达式模式 `[^,]+` 匹配任意数量的非逗号字符,因此可以将字符串按逗号 分割 为两个子字符串。 请注意,如果要使用其他 分割 符,只需要将正则表达式模式中的逗号替换为所需的 分割 符即可。