我有几个疑问,详情如下。我希望能够运行一个返回两个计数的 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()
.我已经忘记了为什么我从不使用它。
关于sql - Oracle - 将多个计数作为一个查询返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6356564/