我在Datablase表中有一个列,假设它的观察包含三种类型的值
现在我想计算总行数,总正数和总负数以及其他一些列。我不能在这里使用Where子句。它的观点
所以结果应该像
Total Positive Negative SomeOtherCoulumn
255 80 120 Test1
315 135 65 Test2
我尝试在这里使用SQL COUNT但无法获得所需的结果。
答案 0 :(得分:3)
SELECT
COUNT(*) AS Total,
SUM(CASE WHEN Observation = 'Positive' THEN 1 ELSE 0 END) AS Positive,
SUM(CASE WHEN Observation = 'Negative' THEN 1 ELSE 0 END) AS Negative,
SomeOtherColumn
FROM your_view
GROUP BY SomeOtherColumn
答案 1 :(得分:2)
有一种有趣的技巧可以像这样总结一个案例表达式:
sum(case when Observation = 'Positive' then 1 else 0 end) 'TotalPositive'
其余的很容易。