我有几个疑问,详情如下。我希望能够运行一个返回两个计数的 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 方法是一个更好的通用解决方案。)
Edit:我已经删除了NVL()
。我忘记了为什么我从不使用它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)