3
我有一个希望简单的MySQL查询问题,这个问题在深夜无法解决。我正在尝试做一个SELECT来计算一组数据(订单)的实例数量,并将这些实例按照在父级上存在的值存储在订单本身以上的几个级别中。MySQL多级别父级选择/加入问题
例如:
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;
什么我希望做的东西在附近:
SELECT COUNT(orders.id)的categoryId 从接单,类别WHERE 订单。 (1,2,3)GROUP BY orders.productId.productGroupId.categoryId中的customer_id
假设有1类产品的订单有17件,2类产品有2件订单,3类有214件订单,所以wha T I很希望得到的回复是:
count(orders.id), categoryId
============================
17 1
2 2
214 3
如果我试图通过说PRODUCT_ID我会fine..but两个层次增厚部被扔我组。
谢谢!
的确 - 谢谢! – DarkSquid 2009-06-13 18:56:37