2009-05-22 71 views
0

我想知道是否有可能從一個查詢使用表值,然後將它們添加到2個數據。MYSQL SUM由數量和值

這裏有一些簡單的表&數據可能會有所幫助。

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總數量&總價值。

所以這就意味着如果我有3個數量字段,每個區域的總和需要是(數量*價格),然後爲cart_id添加總數。

所以在上面的例子,如果我一直在尋找的值cart_id 4的值我希望我能回報將是數量= 4 &總價值= 209

希望這是有道理的,感謝,如果你能幫幫我。

回答

3

像這樣的東西應該工作:

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

神奇。不能相信這麼簡單的查詢! – Lee 2009-05-22 01:08:48