oracle中select case when 如何使结果不显示不满足条件的结果。 5

例如:我有一个表sale里面有列shdate,列2……现需要查询一下昨天销售笔数以及去年同期的销售笔数,类似语句如下selectcasewhento_date(to_ch... 例如:我有一个表sale 里面有列shdate,列2……
现需要查询一下昨天销售笔数以及去年同期的销售笔数,类似语句如下
select
case when to_date(to_char(shdate,'yyyy-mm-dd'),'yyyy-mm-dd')= to_date(to_char(sysdate-1,'yyyy-mm-dd'),'yyyy-mm-dd') then '销售笔数'
when to_date(to_char(shdate,'yyyy-mm-dd'),'yyyy-mm-dd')= to_date(to_char(sysdate-367,'yyyy-mm-dd'),'yyyy-mm-dd') then '同期销售笔数'
else null end,
count(*)
FROM
sale
group by
case when to_date(to_char(shdate,'yyyy-mm-dd'),'yyyy-mm-dd')= to_date(to_char(sysdate-1,'yyyy-mm-dd'),'yyyy-mm-dd') then '销售笔数'
when to_date(to_char(shdate,'yyyy-mm-dd'),'yyyy-mm-dd')= to_date(to_char(sysdate-367,'yyyy-mm-dd'),'yyyy-mm-dd') then '同期销售笔数'
else null end
但是查询的结果除了‘销售笔数’和‘同期销售笔数’以外还有其他的一行。请问如何除去这多余的一行
展开
 我来答
na1d38
2012-08-06 · TA获得超过6625个赞
知道大有可为答主
回答量:1944
采纳率:50%
帮助的人:703万
展开全部
因为你用了 else null end, 也就是出来3类 销售笔数,同期销售笔数,null,把这句删了就可以了
修改如下

select
case when to_date(to_char(shdate,'yyyy-mm-dd'),'yyyy-mm-dd')= to_date(to_char(sysdate-1,'yyyy-mm-dd'),'yyyy-mm-dd') then '销售笔数'
when to_date(to_char(shdate,'yyyy-mm-dd'),'yyyy-mm-dd')= to_date(to_char(sysdate-367,'yyyy-mm-dd'),'yyyy-mm-dd') then '同期销售笔数'
end as type,
count(*)
FROM
sale
group by type;
苏州蓝晓生物科技有限公司_
2022-08-05 广告
苏州蓝晓生物科技有限公司。标准化核心产品:公司拥有完整的琼脂糖介质、葡聚糖介质、聚甲基丙烯酸酯介质生产线,年产分离介质50000L,产品质量稳定并达到国际领先水平。核心优势:公司核心技术人员拥有近二十年不同基质的基球开发和官能化的丰富技术经... 点击进入详情页
本回答由苏州蓝晓生物科技有限公司_提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式