Mysql

MySQL COUNT 和 GROUP BY 顯示多個項目

  • May 26, 2022

下面給出了一項但計數錯誤

SELECT COUNT(activities.id) FROM activities AS COUNT
[0] => stdClass Object
(
 [COUNT] => 189
)

下面給出了多個項目但正確的計數(總數組項目)

SELECT COUNT(activities.id) AS COUNT
GROUP BY activities.id
[0] => stdClass Object
(
 [COUNT] => 4
)
[1] => stdClass Object
(
 [COUNT] => 4
)

我如何使用GROUP BY但仍然只能得到一個計數結果?(我試過 DISTINCT 沒有運氣)

就像是

選擇活動.id,計數(1)按活動.id分組

由於您沒有在您選擇的價值分組中為其提供內容,因此您根本沒有理由按任何內容進行分組。您的選擇建議與以下結果相同:SELECT COUNT(activities.id)

顯然,這將是您的總數,而不是您的每項活動。

會給你每個活動 id 以及它在你的數據集中出現的次數。但是,如果不知道您的數據集實際包含什麼,就很難進行驗證。

此外,我建議不要使用關鍵字作為列名,因為它通常不受歡迎。

這可行,但我不確定它在性能方面是最好的:

SELECT COUNT(activities.id) over() AS COUNT
FROM activities
GROUP BY activities.id
LIMIT 1

引用自:https://dba.stackexchange.com/questions/312614