밤늦게 나에게 잘 모르겠다는 간단한 MySQL 쿼리 질문이 있습니다. 나는 일련의 데이터 (명령) 집합의 인스턴스 수를 세는 SELECT를 시도하고 그 순서를 부모보다 몇 단계 상위에 존재하는 값으로 그룹화한다. 예를 들어MySQL 다단계 부모 선택/가입 질문
:
SELECT COUNT (orders.id), 주문, 범주 WHERE 수주 카테고리 ID : 내가 뭘 찾고있어
CREATE TABLE `so_test`.`categories` (
`id` int(10) unsigned NOT NULL auto_increment,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=572395 DEFAULT CHARSET=latin1;
CREATE TABLE `so_test`.`product_group` (
`id` int(10) unsigned NOT NULL auto_increment,
`category_id` int(10) unsigned NOT NULL auto_increment,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=572395 DEFAULT CHARSET=latin1;
CREATE TABLE `so_test`.`products` (
`id` int(10) unsigned NOT NULL auto_increment,
`product_group_id` int(10) unsigned NOT NULL auto_increment,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=572395 DEFAULT CHARSET=latin1;
CREATE TABLE `so_test`.`orders` (
`id` int(10) unsigned NOT NULL auto_increment,
`product_id` int(10) unsigned NOT NULL auto_increment,
`customer_id` int(10) unsigned NOT NULL auto_increment,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=572395 DEFAULT CHARSET=latin1;
는 동네에서 무언가이다. customer_id in (1,2,3) GROUP BY orders.productId.productGroupId.categoryId
카테고리 1에 제품 17 개, 카테고리 2에 제품 2 개, 카테고리 3에 214 개가 있다고 가정하면, t 내가 돌아올 것을 희망하고있어입니다 :
count(orders.id), categoryId
============================
17 1
2 2
214 3
는 내가 두 레벨 업 부분이 저를 던지고있다 fine..but 것 PRODUCT_ID 말하여 그룹려고합니다.
감사합니다. , 순서없이 카테고리를 들어
select categoryid, count(orders.id)
from category c
left join product_group pg on pg.category_id = c.id
left join products on p on p.product_group_id = pg.id
left join orders o on o.product_id = p.id
카운트 (orders.id) 카운트 (*) productgroups의 수에 따라 하나 이상의를 반환하면서, 0을 반환하고 :
참으로 - 감사합니다! – DarkSquid