PHP / mysql计数重复并输出为数字

我想计算所有重复项并将它们作为数字输出。


数据库:


user   

Sam

Sam    

Tom    

Tom    

Tom 

John

这是我的代码:


 $sql = "select user, count(*) duplicates from users group by user order by duplicates desc";

      $result = $conn->query($sql);

  

      if ($result->num_rows > 0) {

          // output data of each row

          while($row = $result->fetch_assoc()) {

              echo $row["user"]. "<br>";

          }

      } else {

          

      }

很好,但这是输出:


Tom

Sam

John

我希望输出只有数字:


3

2

1

谢谢回答。


函数式编程
浏览 134回答 2
2回答

Helenr

您可以使用SQL计数(如您所做的那样)并将数字存储在属性中。这个属性可以直接在 PHP 中读取。AS您必须在 SQL中声明您的计数变量。$sql = "select user, count(*) AS duplicates from users group by user order by duplicates desc";$result = $conn->query($sql);if ($result->num_rows > 0)&nbsp;{&nbsp; // output data of each row&nbsp; while($row = $result->fetch_assoc())&nbsp;&nbsp; {&nbsp; &nbsp; echo $row["duplicates"]. "<br>";&nbsp; }}&nbsp;else&nbsp;{}

HUWWW

不要选择user列,而是选择ID列:$sql&nbsp;=&nbsp;"select&nbsp;ID,&nbsp;count(*)&nbsp;duplicates&nbsp;from&nbsp;users&nbsp;group&nbsp;by&nbsp;user&nbsp;order&nbsp;by&nbsp;duplicates&nbsp;desc";然后在您的 ID 列中输出echo:echo&nbsp;$row["ID"].&nbsp;"<br>";
打开App,查看更多内容
随时随地看视频慕课网APP