SQL:按值1分组和“不”值1?

时间:2012-10-15 14:23:21

标签: sql db2 database-agnostic

我有一张表格如下:

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

在OrderType上做一个“分组依据”很简单但有办法做一个“分组依据”来得到类似的东西:

OrderCount, OrderType
2, Type1
3, Not Type1

这是DB2,但理想情况下,我正在寻找一种无论数据库供应商如何都能正常运行的解决方案。

2 个答案:

答案 0 :(得分:7)

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

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