oracle 如何同时查询当月数据量和指定时间段内的数据

如题在线等... 如题 在线等 展开
 我来答
badkano
推荐于2017-11-26 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144776 获赞数:885371
团长

向TA提问 私信TA
展开全部

当前月数量

select sum(数量) from 表名 where to_char(时间,'yyyy-mm')=to_char(sysdate,'yyyy-mm')

 指定时间段内数量,比如10月1日0点0分0秒到10月3日23点59分59秒

select sum(数量) from 表名 where to_char(时间,'yyyy-mm-dd hh24:mi:ss')between '2013-10-01 00:00:00' and '2013-10-03 23:59:59'
追问
我的意思是说 同时查询数来  比如说 小A一月份做了100道题,二月份做了120道题 三月份做了150道题 ,现在是四月中旬  刚刚做了70道题   我要查询的结果是  小A 一月份和二月份的做题总数 和目前当月已经做的题目数量  查询要显示成
姓名 一二月综合 当月
小A 220 70
我要查询成这个样子
追答
select 姓名,
sum(case when  to_char(时间,'yyyy-mm')<>to_char(sysdate,'yyyy-mm') then 数量 else 0 end) as 往月总和,
sum(case when to_char(时间,'yyyy-mm')=to_char(sysdate,'yyyy-mm') then 数量 else 0 end) as 当月总和
from 表名
group by 姓名

 

条件你就在case when 里加就好了,比如你只查1,2月的

sum(case when  to_char(时间,'yyyy-mm') in ('2013-01','2013-02') then 数量 else 0 end)

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式