我有一个很基本的问题,我不能自己回答,但不应该占用你太多时间。
下面的查询工作正常,它列出了所有 exhibition_category_id
并统计分配给每个类别的对象总数。
我的问题是:它为什么这么做?我不明白这个问题。上面写着 count(*)
-为什么它不给我不同展览类别id的总数(79),而是计算每个类别分配了多少个对象?
下面是有问题的查询,以及实际输出的屏幕截图:
SELECT eb.exhibition_category_id, count(*) AS total
FROM exhibition_brand eb
GROUP BY eb.exhibition_category_id
https://i.stack.imgur.com/6demv.png
希望可以理解我的要求,渴望根据反馈改进我的帖子。干杯
2条答案
按热度按时间v440hwme1#
您的查询是基本聚合查询:
这个
GROUP BY
指定结果集的每个值将包含一行eb.exhibition_category_id
. 结果集由两列组成,一列是定义行的值。另一个是每组的行数。那是什么COUNT(*)
做。如果你想知道
eb.exhibition_category_id
,那么你想要一排COUNT(DISTINCT)
:9w11ddsr2#
这个
GROUP BY
功能组COUNT()
由eb.exhibition_category_id
,因此查询按eb.exhibition_category_id
,然后统计相应的记录。