2012-10-15 44 views
2

我有一个表像下面这样:SQL:按值1分组,按“不”value1?

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

“分组依据”做一个对订单类型是容易的,但有没有办法做一个“分组依据”得到的东西,如:

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