查询某一周和季度的数据

[复制链接]
查看11 | 回复3 | 2013-2-25 14:51:24 | 显示全部楼层 |阅读模式
有一表记录了全年的生产记录,列P_time 是date型的,并作为了分区键,创建了本地分区索引,现在想查询某一时间段的数据,比如 季度,月,周,日和时,其中月,日和时的数据都好查,但是周和季度的不知道怎么写SQL查询,要求要利用建好的索引。需求举例:
1.查询9月份第一周的数据
2.查询今年第三季度的数据
求指教,谢谢


回复

使用道具 举报

千问 | 2013-2-25 14:51:24 | 显示全部楼层
对于此类需求;我们的平时做法就是有个万历表,里面是精确到天,年、月、日(周末标识)、周、季度、等各种维度都有;到时候只要和表做连接查询即可。
用具体维度卡住日期时间,然后查询,可以走索引,数据也正确。


回复

使用道具 举报

千问 | 2013-2-25 14:51:24 | 显示全部楼层
第1周:to_char(P_time,'w')=1 and P_time>=to_char('2012-09-01','yyyy-mm-dd') and P_time=to_char('2012-01-01','yyyy-mm-dd') and P_time=to_char('2012-09-01','yyyy-mm-dd') and P_time=to_char('2012 ...
谢谢, 但to_char(P_time,'w')=1 用了函数就用不了索引了
回复

使用道具 举报

千问 | 2013-2-25 14:51:24 | 显示全部楼层
八百里秦川 发表于 2012-11-20 13:11
对于此类需求;我们的平时做法就是有个万历表,里面是精确到天,年、月、日(周末标识)、周、季度、等各种维 ...

这种做法涉及到了表连接,你们应该做了优化了吧?通常事实数据表巨大,维度表很小,怎么连接查询最快,怎么建索引合适等等,能否赐教一二
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行