2011-05-31 56 views
2

我有類似以下幫助與SQL查詢計數

ID NUMBER 
VAL1 NUMBER 
VAL2 NUMBER 

我需要顯示有VAL1> VAL2和有VAL1 VAL2 <行計數的行數的SQL查詢的表。兩者都使用一個SQL查詢計數。謝謝。

回答

4

該查詢應與大多數數據庫平臺上工作:

select sum(case when val1 > val2 then 1 end) as GreaterThanCount, 
    sum(case when val1 < val2 then 1 end) as LessThanCount 
from MyTable 

,顯示不同行的總和,你可以這樣做:

select case when val1 > val2 then 'GreaterThan' else 'LessThan' end as Type, 
    count(*) as Count 
from MyTable  
group by case when val1 > val2 then 'GreaterThan' else 'LessThan' end 
+0

是否可以使用相同的SQL查詢在兩個不同的行中顯示計數? – M99 2011-05-31 18:21:30

+0

@ M99看到我的更新超過 – RedFilter 2011-05-31 18:32:18

+0

真棒。感謝你能這麼快回復。 – M99 2011-05-31 18:58:34

0

試試這個:

select id, count(VAL1 > VAL2) as more1, count(val2 > val1) as more2 
from your_table 
+0

是否有可能使用相同的SQL查詢在兩個不同的行中顯示計數? – M99 2011-05-31 18:24:08

1

SELECT SUM(VAL1> VAL2)as arg1, SUM(VAL1 < VAL2)as arg2

+0

是否可以使用相同的SQL查詢在兩個不同的行中顯示計數? – M99 2011-05-31 18:25:25