2012-10-15 1 views
2

У меня есть таблица с чем-то вроде следующего:SQL: Group by on value1 и "not" value1?

OrderNo, OrderType 
1, Type1 
2, Type1 
3, Type2 
4, Type3 
5, Type4 

Doing «группу по» на OrderType легко, но есть способ сделать «группу,» чтобы получить что-то вроде:

OrderCount, OrderType 
2, Type1 
3, Not Type1 

Это DB2, но в идеале я ищу решение, которое будет работать независимо от поставщика БД.

ответ

1

попробовать:

Select Case OrderType When 'Type1' Then 'Type1' 
      Else 'NotType1' End OrderType, 
     Count(*) OrderCount 
From Table 
Group By Case OrderType When 'Type1' Then 'Type1' 
       Else 'NotType1' End 
+0

Спасибо, это понятно, простой пример, который хорошо работает. – Matt

7

group by case when OrderType = 'type1' then 'type1' else 'not type 1' end

Смежные вопросы