2014-02-07 45 views
0
id name type 
--------------------- 
    1  a  ir 
    2  b  sr 
    3  a  ir 
    4  a  sr 
    5  b  ir 

我想这样的使用COUNT我的输出在SQL获得多个COUNT在1个查询

name ir sr 
------------- 
a  2  1 
b  1  1 
+0

什么DB的味道? –

回答

0
SELECT name, 
     SUM(CASE type WHEN 'ir' THEN 1 ELSE 0 END) AS ir, 
     SUM(CASE type WHEN 'sr' THEN 1 ELSE 0 END) AS sr 
FROM YourTable 
GROUP BY name 

在MySQL中,你可以简化这个到:

SELECT name, 
     SUM(type = 'ir') AS ir, 
     SUM(type = 'sr') AS sr 
FROM YourTable 
GROUP BY name 
+0

我如何在我的php中回应这个问题? – Cross

+0

与任何其他查询相同。你获取行并回显'$ row ['name']','$ row ['ir']','$ row ['sr']''。 – Barmar

+0

感谢兄弟。现在我的SQL正在工作。 – Cross