如何根据主查询计算表中的项?

时间:2012-11-02 20:26:00

标签: php mysql pdo

好的人说我正在做这个查询:

SELECT `category_id`, `category_name` 
FROM `database_categorys` 
ORDER BY `category_name` ASC

现在我想要计算名为“database_items”的表中的所有行,其中item表的类别id等于当前行类别id。

我猜测某种连接或嵌套查询,但我不能用正确的语法来解决这个问题。

因此,在回应它时,我可以这样做:

<category name> <total items in category number>

2 个答案:

答案 0 :(得分:6)

SELECT c.`category_id`, c.`category_name`, count(i.`category_id`)
FROM `database_categorys` c
LEFT OUTER JOIN `database_items` i on c.`category_id` = i.`category_id`
GROUP BY c.`category_id`, c.`category_name`
ORDER BY c.`category_name`

答案 1 :(得分:0)

我会使用这样的子查询:

SELECT 
    `category_id`, `category_name`,
    (SELECT count(1) from database_items i where i.category_id = c.category_id)
FROM `database_categorys` c 
ORDER BY `category_name` ASC