Guarda per fare prima mi sono creato una tabella di prova molto semplice, con id, nomecliente, articolo e prezzo.
codice:
CREATE TABLE `acquisti` (
`id` int(10) unsigned NOT NULL auto_increment,
`nome` varchar(50) NOT NULL,
`articolo` varchar(50) NOT NULL,
`prezzo` int(10) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=11 ;
--
-- Dump dei dati per la tabella `acquisti`
--
INSERT INTO `acquisti` VALUES (1, 'Andrea', 'Lavastoviglie', 600);
INSERT INTO `acquisti` VALUES (2, 'Giuseppe', 'Lavatrice', 300);
INSERT INTO `acquisti` VALUES (3, 'Elisabetta', 'Bicicletta', 200);
INSERT INTO `acquisti` VALUES (4, 'Angela', 'Forno a Microonde', 300);
INSERT INTO `acquisti` VALUES (5, 'Andrea', 'Bicicletta', 200);
INSERT INTO `acquisti` VALUES (6, 'Giuseppe', 'Orologio', 300);
INSERT INTO `acquisti` VALUES (7, 'Giuseppe', 'Macchina digitale', 230);
INSERT INTO `acquisti` VALUES (8, 'Andrea', 'Microonde', 300);
INSERT INTO `acquisti` VALUES (9, 'Giuseppe', 'Bicicletta', 400);
INSERT INTO `acquisti` VALUES (10, 'Angela', 'TV LCD', 1200);
Con questa query mi tiro fuori direttamente il tutto
SELECT nome,SUM(prezzo) AS totale FROM acquisti GROUP BY nome ORDER BY nome ASC
senza funzione secondaria. Adattala alle tue esigenze (immagino ci saranno delle join su altre tabelle)