产品表:travel
CREATE TABLE `wn_travel` (
`id` int(11) unsigned NOT NULL auto_increment,
`name` varchar(100) NOT NULL COMMENT '线路名称',
`price` decimal(6,0) NOT NULL COMMENT '成人价格',
`children_price` decimal(6,0) NOT NULL COMMENT '儿童价格',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='旅游线路表' AUTO_INCREMENT=10 ;定单表:travel_order
CREATE TABLE `wn_travel_order` (
`id` int(11) unsigned NOT NULL auto_increment,
`travel_id` int(11) NOT NULL COMMENT '线路id',
`adult_number` smallint(3) NOT NULL COMMENT '成人数量',
`children_number` smallint(3) NOT NULL COMMENT '儿童数量',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='线路定单表' AUTO_INCREMENT=10 ;知道以上两张表,查一下销量销量是定单表中的"成人数量+儿童数量",按`travel_id分组,从销量大到小排序,然后取前10条数据;查询出来的结果是:线路id,线路id对应的线路名称,该产品的总销量(成人数+儿童数);不知道有没有高手在,要是有高手在帮帮写这条语句,在这里先谢谢了;要是写不出来以上的可以写个销量是按成人数算就行;
CREATE TABLE `wn_travel` (
`id` int(11) unsigned NOT NULL auto_increment,
`name` varchar(100) NOT NULL COMMENT '线路名称',
`price` decimal(6,0) NOT NULL COMMENT '成人价格',
`children_price` decimal(6,0) NOT NULL COMMENT '儿童价格',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='旅游线路表' AUTO_INCREMENT=10 ;定单表:travel_order
CREATE TABLE `wn_travel_order` (
`id` int(11) unsigned NOT NULL auto_increment,
`travel_id` int(11) NOT NULL COMMENT '线路id',
`adult_number` smallint(3) NOT NULL COMMENT '成人数量',
`children_number` smallint(3) NOT NULL COMMENT '儿童数量',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='线路定单表' AUTO_INCREMENT=10 ;知道以上两张表,查一下销量销量是定单表中的"成人数量+儿童数量",按`travel_id分组,从销量大到小排序,然后取前10条数据;查询出来的结果是:线路id,线路id对应的线路名称,该产品的总销量(成人数+儿童数);不知道有没有高手在,要是有高手在帮帮写这条语句,在这里先谢谢了;要是写不出来以上的可以写个销量是按成人数算就行;
select A.name,B.travel_id, B.sell from wn_travel A inner join
(select travel_id,sum(adult_number+children_number) sell from
wn_travel_order group by travel_id order by sell desc limit 10) B on A.id=B.travel_id