使用mysql COUNT来计算多个列

时间:2011-04-21 11:09:12

标签: php mysql count

我在表格中有信息:

id    name    recommender
 1    daniel  steve
 2    daniel  tony
 3    steve   daniel

和这段代码:

<h2>Follow/Join Recommendation League Table</h2>
<br/>
<?php

$query = "SELECT name_of_follower, COUNT(name) FROM recommendation_competition_entrants GROUP BY name_of_follower ORDER BY COUNT(name) DESC"; 

$result = mysql_query($query) or die(mysql_error());

// Print out result
while($row = mysql_fetch_array($result)){
        echo $row['name_of_follower'] . " has ". $row['COUNT(name)'] . " entries.";
        echo "<br />";
}

?>

这将计算“名称”列中的所有条目,并显示一个迷你联赛表,如下所示:

daniel - 2 entries
steve - 1 entry

我现在需要做的是从名称和名称中计算名称。推荐列,因此表格如下所示:

daniel - 3 entries
steve - 2 entries
tony - 1 entry

有一种简单的方法吗?

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

select name_of_follower, 
       count(name_of_follower) 
  from ( select name as name_of_follower 
          from abc 
         union all 
        select follower as name_of_follower  
          from abc
       ) t
 group by t.name_of_follower 
 order by count(name_of_follower) desc

答案 1 :(得分:0)

SELECT SUM(COUNT(name) + COUNT(recommender)) FROM...