我有一个类似于以下的表
ID NUMBER
VAL1 NUMBER
VAL2 NUMBER
我需要一个SQL查询,显示有VAL1>的行数。 VAL2和具有VAL1<的行数。 VAL2。两者都使用一个SQL查询计数。感谢。
答案 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