0

sql中临时表的结果如下:

ServiceType
-----------
E                             
I                             
I                             
E                             
I                             
D                             
I 
D
E

我希望上述结果的计数是这样的(其中 I-Imp、E-Exp、D-Dom):

Type   Count
------------
Exp     3
Imp     4
Dom     2      

谁能建议我实现这一目标的最佳方法?我试图通过创建另一个临时表来做到这一点。

4

2 回答 2

5

你可以试试这个:

SELECT CASE ServiceType 
       WHEN 'I' THEN 'Imp' 
       WHEN 'E' THEN 'Exp' 
       WHEN 'D' THEN 'Dom' END AS Type
, COUNT(ServiceType) AS `Count`
FROM MyTable GROUP BY ServiceType

结果:

| TYPE | COUNT |
----------------
|  Dom |     2 |
|  Exp |     3 |
|  Imp |     4 |

看到这个 SQLFiddle

于 2013-04-29T06:06:36.760 回答
1

尝试这个..

select type, count(type) from table
group by type.
于 2013-04-29T06:06:22.290 回答