这是因为您使用GROUP BY
。这意味着您可以获得表格中每个不同i.items
的计数。
您可以通过添加项目到查询结果(我改变WHERE
到ON
)检查:
SELECT
i.items,
COUNT(*) AS comment
FROM
comment co
INNER JOIN item i ON co.items = i.items
GROUP BY
i.items
解决方法是指定你想要的物品....
SELECT
i.items,
COUNT(*) AS comment
FROM
comment co
INNER JOIN item i ON co.items = i.items
WHERE
i.items = 'foo'
/* -- Grouping not needed anymore, since you only have 1 item (= 1 group)
GROUP BY
i.items*/
...或不分组,所以你得到了所有项目总数:
-- Will fetch the total number of comments (that are linked to an item)
SELECT
COUNT(*) AS comment
FROM
comment co
INNER JOIN item i ON co.items = i.items
...或限制结果 此查询只是截断结果,仅返回其中一个项目的计数。 该项目现在或多或少是随机选择的,但您可以添加ORDER BY来影响该项目。
SELECT
COUNT(*) AS comment
FROM
comment co
INNER JOIN item i ON co.items = i.items
GROUP BY
i.items
/* -- Optional order, if you need to influence which of the items is preffered.
ORDER BY
i.items*/
LIMIT 1
所以,从你的问题我只能告诉问题是什么,而不是哪个解决方案最适合你。但是这里有几个选项可供选择。 :)
*无关*:是否有一个特定的原因,你使用非破坏空间,而不是一个普通的空间? – h2ooooooo
将您的查询限制为单个i.items值 –
什么是co.items = i.items?它是文本还是ID? – Sahal