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... Quote 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 Quote 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 Quote 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 Quote 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
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.