簡體   English   中英

如何獲得最大數量的不同值

[英]How to get the highest number of distinct values

我試圖在數據庫中找到最大數量的不同值。 到目前為止,我的代碼是:

$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月9次,4月7次。 基本上,我希望$highestStats重新調整9。即,最常用的月份出現的次數。

我應該如何去做, $bdd是一個PDO MySQL連接。

任何幫助深表感謝。

干杯吉姆

嘗試這個:

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

認為您可以使用子查詢來執行此操作:

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

或避免子查詢,而是使用/限制

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM