MYSQL SUM по количеству и значениям - PullRequest
0 голосов
/ 22 мая 2009

Я хотел бы знать, возможно ли получить 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.

Таким образом, это означало бы, что если бы у меня было 3 в поле количества, сумма должна быть (количество * цена) для каждой зоны, а затем добавить их в общей сложности для cart_id.

Так что в приведенном выше примере, если я искал значения для cart_id 4 Значения, которые я надеюсь вернуть, были бы равны qty = 4 & total value = 209

Надеюсь, что это имеет смысл и спасибо, если вы можете помочь.

1 Ответ

3 голосов
/ 22 мая 2009

Примерно так должно работать:

SELECT SUM(qty) AS qty, SUM(qty * price) AS total
FROM cartcontents
GROUP BY cart_id
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...