通常,您需要显示数据库项目的列表以及有关每个项目的特定总数。例如,当您在堆栈溢出中键入标题文本时,将出现相关问题列表。该列表显示了相关条目的标题以及每个标题的单个合计答复数量。查询:计算每个项目的多个总计数
我有一个类似的问题,但需要多个聚合。我想在任何的3种格式,具体取决于用户选择显示的项目清单:
- 我的项目的名称(15总,13由我拥有)
- 我的项目的名称(15个) (我拥有的13)
- 我的项目的名称
我的数据库是:
- 项目:的itemId,ITEMNAME, OWNERID
- 类:CATID,catName
- 地图:的azazaz,的itemId,CATID
下面的查询获取:类别名称,每个类别
SELECT
categories.catName,
COUNT(map.itemId) AS item_count
FROM categories
LEFT JOIN map
ON categories.catId = map.catId
GROUP BY categories.catName
项ID的数这一个得到:类别名称,每个类别的这个owner_id的物品id的数量只有
SELECT categories.catName,
COUNT(map.itemId) AS owner_item_count
FROM categories
LEFT JOIN map
ON categories.catId = map.catId
LEFT JOIN items
ON items.itemId = map.itemId
WHERE owner = @ownerId
GROUP BY categories.catId
但是我如何在单个查询中同时获取它们? I.e .:类别名称,每个类别的物品ID计数,仅针对该owner_id的每个类别的物品ID计数
奖励。我可以选择只检索其中任何一个的catId数!= 0。在试图“WHERE ITEM_COUNT <> 0”,我得到:
MySQL said: Documentation
#1054 - Unknown column 'rid_count' in 'where clause'