Php 如何在MySQL数据库中找到前5个重复条目?

Php 如何在MySQL数据库中找到前5个重复条目?,php,mysql,sql,Php,Mysql,Sql,我正在尝试查找SQL表中重复行的最大数目。我可以获得计数,但数字会不时动态变化。那么我需要将计数添加到表中,然后找到计数列的最大值吗?或者我只需要找到计数列的最大值,而不将其添加到表中?我希望这些问题有意义。这是我到目前为止所拥有的 $countQuery = "SELECT breakers, COUNT(breakers) AS num FROM $tblEmerg GROUP BY breakers"; $count = mysqli_query($db, $countQuery) or

我正在尝试查找SQL表中重复行的最大数目。我可以获得计数,但数字会不时动态变化。那么我需要将计数添加到表中,然后找到计数列的最大值吗?或者我只需要找到计数列的最大值,而不将其添加到表中?我希望这些问题有意义。这是我到目前为止所拥有的

$countQuery = "SELECT breakers, COUNT(breakers) AS num FROM $tblEmerg GROUP BY breakers";
$count = mysqli_query($db, $countQuery) or die(mysqli_error($db));
    while($row = mysqli_fetch_assoc($count)){
        echo "<p>" .$row['breakers'] ." - " .$row['num'] ."</p>";
    }

这正是我想要的,但正如我所提到的,“num”将动态变化,我只想返回前5个结果。我该怎么做呢?

您只需在查询中添加
按计数排序(断路器)DESC LIMIT 5

尝试以下操作:

SELECT breakers, COUNT(breakers) AS num 
  FROM $tblEmerg 
  GROUP BY breakers having num > 1 order by count(breakers) desc limit 5

我想这会给你所要求的结果

SELECT breakers, COUNT(breakers) AS num FROM $tblEmerg GROUP BY breakers ORDER BY COUNT(breakers) DESC LIMIT 5

添加订单编号和限额。例如,
ORDER BY num DESC LIMIT 5
Awesome。多谢各位much@Doon刚刚意识到你已经在评论中回答了:)干杯
SELECT breakers, COUNT(breakers) AS num FROM $tblEmerg GROUP BY breakers ORDER BY COUNT(breakers) DESC LIMIT 5