我有一个包含三个表的MySQL数据库:类别(可以是子类别),项目和item_categories(因为项目可以属于多个类别)。
SQL代码:
CREATE TABLE `categories` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`parent_id` INT NOT NULL ,
`name` TEXT NOT NULL
)
CREATE TABLE `items` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`cat_id` INT,
`title` TEXT NOT NULL ,
`price` VARCHAR( 10 ) NOT NULL
)
CREATE TABLE `item_categories` (
`id` INT NOT NULL AUTO_INCREMENT ,
`item_id` INT NOT NULL ,
`cat_id` INT NOT NULL ,
PRIMARY KEY (`id`)
)
所以问题是:对于一个类别列表如何获得优惠数量?
答案 0 :(得分:1)
SELECT COUNT(*) cnt, cat_id
FROM item_categories
WHERE cat_id IN (1, 2, 3)
GROUP BY cat_id
(1, 2, 3)
是您感兴趣的类别列表