加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – Oracle – 将多个计数作为一个查询返回

发布时间:2020-12-12 06:30:05 所属栏目:MsSql教程 来源:网络整理
导读:我有几个问题,详情如下.我希望能够运行一个返回两个计数的SQL查询,这可能吗? 1. select nvl(count(rowid),0) from tablename where OPP = 'FOO' and date = 'BAZ'; 2. select nvl(count(rowid),0) from tablename where OPP = 'BAR' and date = 'BAZ'; 到目
我有几个问题,详情如下.我希望能够运行一个返回两个计数的SQL查询,这可能吗?

1.

select nvl(count(rowid),0) from tablename where OPP = 'FOO' and date = 'BAZ';

2.

select nvl(count(rowid),0) from tablename where OPP = 'BAR' and date = 'BAZ';

到目前为止,我只在搜索中找到了MSSQL特定的解决方案.

解决方法

如果您需要它们在一行中:
SELECT
    COUNT(CASE OPP WHEN 'FOO' THEN 1 END),COUNT(CASE OPP WHEN 'BAR' THEN 1 END)
FROM tablename
WHERE OPP IN ('FOO','BAR') AND date = 'BAZ'

(无论如何,Thilo的GROUP BY方法是更好的通用解决方案.)

编辑:我删除了NVL().我忘记了为什么我从不使用它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读