帮助SQL查询计数

时间:2011-05-31 17:26:59

标签: mysql sql

我有一个类似于以下的表

ID NUMBER
VAL1 NUMBER
VAL2 NUMBER

我需要一个SQL查询,显示有VAL1>的行数。 VAL2和具有VAL1<的行数。 VAL2。两者都使用一个SQL查询计数。感谢。

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

  

SELECT SUM(VAL1&gt; VAL2)as arg1,   SUM(VAL1&lt; VAL2)为arg2

答案 2 :(得分:0)

试试这个:

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