微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我有几个问题,详情如下.我希望能够运行一个返回两个计数的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().我忘记了为什么我从不使用它.

原文地址:https://www.jb51.cc/mssql/78928.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐