简体   繁体   中英

count rows in mysql with php with specific value

I have a table name is tb1

tb1
id zone  pressure
1  India  Yes
2   USA   No
3   UK    Yes
4  India  Yes
5  AUS    No
6   UK    Yes

Pressure have two kind of entry like "yes" and "no" i need result in this manner

Zone   Pressure
        Yes  No
India    2   0
USA      0   1
UK       1   1
AUS      0   1

My effort so far...

$result = mysql_query("SELECT Zone FROM Tb1 WHERE Pressure = 'Yes'");
$num_rows = mysql_num_rows($result); echo $num_rows . " \n";
SELECT zone,
       SUM(pressure = 'Yes') AS `Yes`,
       SUM(pressure = 'No') AS `No`
  FROM tb1
 GROUP BY zone

does the trick you need. It's an aggregate query. Here's a fiddle. http://sqlfiddle.com/#!2/54889/2/0

SELECT zone
     , SUM(pressure='yes') yes
     , SUM(pressure='no') no 
  FROM my_table 
 GROUP 
    BY zone;
SELECT Zone,
       SUM(pressure='Yes') as `Yes`,
       SUM(pressure='No') as `No`
FROM Tb1 
GROUP BY Zone;

You can do as

select tb1.zone,
sum(tb1.pressure = 'Yes') as Yes,
sum(tb1.pressure = 'No') as No
from tb1
group by tb1.zone

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM