我试图在数据库中找到最大数量的不同值。我到目前为止的代码是:
$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.即最常用月份出现的次数。
我应该如何执行此操作,$bdd
是PDO MySQL
连接。
非常感谢任何帮助。
干杯 吉姆
答案 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