這是因爲您使用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