2009-05-22 3 views
0

Я хотел бы узнать, можно ли получить две суммы из одного запроса с использованием значений таблицы, а затем добавить их togther.MYSQL SUM по QTY и значениям

Вот несколько простых таблиц & данных, которые могут вам помочь.

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 в поданной сумме, сумма должна была бы быть (qty * price) для каждой зоны, а затем добавить их в общей сложности для 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

Fantastic. Не могу поверить в такой простой запрос! – Lee

Смежные вопросы