MTY和价值观的MYSQL SUM

时间:2009-05-22 00:53:01

标签: php mysql

我想知道是否可以使用表值从一个查询中获取2个总和,然后将它们添加到其中。

这是一些简单的表格和数据可能有所帮助。

    CREATE TABLE `cartcontents` (
  `id` int(11) NOT NULL auto_increment,
  `code` varchar(40) NOT NULL,
  `qty` int(10) NOT NULL,
  `price` decimal(30,2) NOT NULL,
  `cart_id` int(11) NOT NULL,
  PRIMARY KEY  (`id`),
  UNIQUE KEY `zone` (`zone_code`,`cart_id`)
) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=latin1;

-- ----------------------------
-- Records 
-- ----------------------------
INSERT INTO `cartcontents` VALUES ('5', '011242077783866125432', '1', '36.00', '2');
INSERT INTO `cartcontents` VALUES ('4', '011242077793513596890', '3', '33.00', '4');
INSERT INTO `cartcontents` VALUES ('6', '011242077649557011493', '1', '110.00', '4');
INSERT INTO `cartcontents` VALUES ('7', '011242077724922511037', '1', '177.00', '5');

所以我希望能够收集总数量和数量。给定cart_id的总值。

所以这意味着如果我在qty字段中有3个,则每个区域的总和需要(qty * price),然后为cart_id添加总数。

所以在上面的例子中,如果我正在寻找cart_id的值4我希望我可以返回的值是qty = 4&总价值= 209

希望这有意义,谢谢你能提供帮助。

1 个答案:

答案 0 :(得分:3)

这样的事情应该有效:

SELECT SUM(qty) AS qty, SUM(qty * price) AS total
FROM cartcontents
GROUP BY cart_id