2010-09-08 53 views
0

我在Datablase表中的列,假設其觀察它包含三種類型的值如何在VIEW中對列值進行不同的計算?

  1. NULL的

現在我要計算總沒有行的,Total Positive和Total Negative以及其他一些列。我不能在這裏使用Where子句。而其視圖

所以結果應該是像

Total Positive Negative SomeOtherCoulumn 
255  80  120   Test1 
315  135   65   Test2 

我想在這裏使用SQL計數,但無法得到想要的結果。

回答

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 
2

有總結,像這樣的情況下,表達了一個有趣的技術:

sum(case when Observation = 'Positive' then 1 else 0 end) 'TotalPositive' 

其餘的是容易的。

相關問題