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

标签 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;

此代码不起作用。

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

我应该如何执行此操作,$bdd 是一个 PDO MySQL 连接。

非常感谢任何帮助。

干杯 吉姆

最佳答案

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

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

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

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

关于php - 如何获得最大数量的不同值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23249535/

相关文章:

php - 如何防止 PHP 中的 SQL 注入(inject)?

php - 奇怪的 Laravel 5 缓存使用错误的数据库名称

php - 获取MySQL中两个日期相差的天数

计算 C 中的字符、单词、行和段落

MYSQL 如何将一列与另一列的计数连接作为 DB 的输出

具有多个Where子句的SQL计数函数

php - 使用 jQuery 将变量传递给 DB 并返回 codeigniter

php - 如何防止用户下载或保存图像?

php - 使用 jQuery 使用 onClick 事件处理程序访问 html 表中的数据

php - Zend Framework 子查询选择。基数违规 : Operand should contain 1 column(s)