I have a table with something like the following:

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

Doing a "group by" on OrderType is easy but is there a way to do a "group by" to get something like:

OrderCount, OrderType
2, Type1
3, Not Type1

This is DB2 but ideally I am looking for a solution that will work regardless of DB vendor.

有帮助吗?

解决方案

try:

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

其他提示

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top