如何获得最大数量的不同值

时间:2014-04-23 15:56:26

标签: php mysql count distinct

我试图在数据库中找到最大数量的不同值。我到目前为止的代码是:

$highestStats = 0;
$highest = $bdd->query('SELECT count(DISTINCT month) FROM stats')->fetchColumn();
while($highestData = $highest) {
    if ($highestStats < $highestData['month']) {
        $highestStats = $highestData['month'];
    }
}
echo $highestStats;

此代码不起作用。

我的例子是这样的:数据库中有一个月份列表,例如2月列出4次,3次登记,4月7次。基本上我希望$highestStats重新调整9.即最常用月份出现的次数。

我应该如何执行此操作,$bddPDO MySQL连接。

非常感谢任何帮助。

干杯 吉姆

2 个答案:

答案 0 :(得分:0)

试试这个:

select c,month from (SELECT count(month) as c,month from states group by month)temp order by c desc limit 1;

答案 1 :(得分:0)

认为您可以使用子查询来执行此操作: -

SELECT MAX(month_occurs)
FROM
(
    SELECT `month`, COUNT(*) AS month_occurs
    FROM stats 
    GROUP BY `month`
) Sub1

或者避免使用子查询,但使用/ limit

命令
SELECT `month`, COUNT(*) AS month_occurs
FROM stats 
GROUP BY `month`
ORDER BY month_occurs DESC
LIMIT 1