基于值的SQL查询结果计数

时间:2013-04-29 06:04:15

标签: sql count

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      

任何人都可以建议我实现这一目标的最佳方法吗?我试图通过创建另一个临时表来做到这一点。

2 个答案:

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

See this SQLFiddle

答案 1 :(得分:1)

试试这个..

select type, count(type) from table
group by type.