2009-05-22 7 views
0

Je voudrais savoir s'il est possible d'obtenir 2 sommes d'une requête en utilisant les valeurs de la table et ensuite les ajouter.MYSQL SUM par QTY et les valeurs

Voici quelques données simples du tableau & qui pourraient aider.

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'); 

Je voudrais être en mesure de recueillir la qté totale & valeur totale pour une cart_id donnée.

Donc cela signifierait que si j'avais 3 dans la quantité déposée, la somme devrait être (qté * prix) pour chaque zone, puis les ajouter au total pour le cart_id.

Ainsi, dans l'exemple ci-dessus si je cherchais les valeurs cart_id 4 Les valeurs que j'espère que je pourrais revenir serait qty = 4 & valeur totale = 209

Hope this sens et merci si vous pouvez Aidez-moi.

Répondre

3

Quelque chose comme cela devrait fonctionner:

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

fantastique. Je ne peux pas croire une requête aussi simple! – Lee

Questions connexes