Sql 计算列的true和false数
我有一个疑问:Sql 计算列的true和false数,sql,oracle,Sql,Oracle,我有一个疑问: SELECT * FROM {Products} 但是Products表有一个布尔列“IsInStock”,我想计算IsInStock为true的产品数量,以及InStock为false的产品数量,以便查询结果包含此信息。您知道如何使用SQL正确地实现这一点吗?您可以尝试以下方法- select isinstoct, count(*) from tablename group by isinstoct 你确定你在使用Oracle吗?布尔值作为表的列是无效的数据类型。 SELE
SELECT * FROM {Products}
但是Products表有一个布尔列
“IsInStock”
,我想计算IsInStock
为true的产品数量,以及InStock
为false的产品数量,以便查询结果包含此信息。您知道如何使用SQL正确地实现这一点吗?您可以尝试以下方法-
select isinstoct, count(*)
from tablename
group by isinstoct
你确定你在使用Oracle吗?布尔值作为表的列是无效的数据类型。
SELECT SUM(CASE WHEN [IsInStock]='True' THEN 1 ELSE 0 END) AS [InStock],
SUM(CASE WHEN [IsInStock]='False' THEN 1 ELSE 0 END) AS [OutOfStock]
FROM [Prodcuts]