rugzo Posted July 11, 2009 Share Posted July 11, 2009 Hi all, i have a question about multiple counts in one query, i searched a lot and understood that its possible but didn't succeed. $sql = mysql_query("SELECT count(gender) FROM nsnag WHERE gender = 'male' ") ; $sql = mysql_query("SELECT count(gender) FROM nsnag WHERE gender = 'female' ") ; Can i mix them up in one query like $sql = mysql_query("SELECT count(if(gender=male)) as male, count(if(gender=female)) as female FROM nsnag ") ; thanks... Link to comment https://forums.phpfreaks.com/topic/165592-solved-multiple-counts-in-one-query/ Share on other sites More sharing options...
kickstart Posted July 11, 2009 Share Posted July 11, 2009 Hi Don't think that would work. You could do $sql = mysql_query("SELECT (SELECT COUNT(*) FROM nsnag WHERE gender = 'male' ) AS MaleCnt, (SELECT COUNT(*) FROM nsnag WHERE gender = 'female' ) AS FemaleCnt") ; But not keen on the idea. Better would be to just bring back multiple lines with $sql = mysql_query("SELECT COUNT(*) FROM nsnag WHERE gender IN ('male','female' ) GROUP BY gender") ; (using the in clause as assuming that gender is not always set). All the best Keith Link to comment https://forums.phpfreaks.com/topic/165592-solved-multiple-counts-in-one-query/#findComment-873464 Share on other sites More sharing options...
gassaz Posted July 11, 2009 Share Posted July 11, 2009 Try this... SELECT SUM(IF(gender='male',1,0)) AS 'male', SUM(IF(gender='female',1,0)) AS 'female' FROM nsnag Link to comment https://forums.phpfreaks.com/topic/165592-solved-multiple-counts-in-one-query/#findComment-873503 Share on other sites More sharing options...
rugzo Posted July 11, 2009 Author Share Posted July 11, 2009 Thanks Link to comment https://forums.phpfreaks.com/topic/165592-solved-multiple-counts-in-one-query/#findComment-873527 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.