暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

使用分组依据在特定日期未找到记录时,选择查询Oracle DB

askTom 2016-03-24
111

问题描述

嗨,汤姆,
我需要一个查询来显示从日期1月1日到2016年2月29日之间的记录数,通过对这些日期进行分组。此外,如果在2016年1月4日没有记录数据,则其计数=0时也应显示相同的数据。你能帮我这个忙吗,因为我一直在努力与这个数据一段时间。

专家解答

若要在表中包含不包含任何条目的日期,则需要外部联接到日期表。

此表可以是真实表,也可以生成一个:

with dates as (
  select date'2016-01-01'+rownum-1 dt from dual
  connect by level <= date'2016-02-29' - date'2016-01-01' + 1
)
  select dt, count(*) from dates
  left  join your_table
  on    dt = trunc(your_table.dt)
  group by dt;

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论