Php 如何在MySQL数据库中找到前5个重复条目?
我正在尝试查找SQL表中重复行的最大数目。我可以获得计数,但数字会不时动态变化。那么我需要将计数添加到表中,然后找到计数列的最大值吗?或者我只需要找到计数列的最大值,而不将其添加到表中?我希望这些问题有意义。这是我到目前为止所拥有的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
$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