2016-01-18 37 views
0

我有一個1064的錯誤:SQL語法和與計數

You have an error in your SQL syntax; check the manual that correspond to your MySQL server version for the right syntax to use neear '*) as NB_FR, sum (*)) as MT_FR FROM gc_mouvements where COOPX="477" or COOPX="4' at line 4

這裏是我使用的代碼,我不理解錯誤的由來:

ALTER TABLE gc_modele_retrait ADD COLUMN 
    (Nb_frais_477 int(5),Nb_frais_481 int(5),Mt_frais_477 int(5),Mt_frais_481 int(5)); 

UPDATE gc_modele_retrait 
    SET Nb_frais_477=0, Nb_frais_481=0, Mt_frais_477=0, Mt_frais_481=0; 

DROP TABLE IF EXISTS gc_modele_retrait_frais; 

CREATE TABLE gc_modele_retrait_frais 
(PRIMARY KEY (COCO)) 
ENGINE=myisam 
SELECT COCO, COOPX, COUNT(*) AS NB_FR, SUM(*) AS MT_OPE 
FROM gc_mouvements WHERE COOPX="477" OR COOPX="481" GROUP BY COCO, COOPX; 
+0

我猜'SUM(*)'會導致一個錯誤 - 你試圖爲什麼列計算總和? –

+0

嗨,我試圖計算'Nb_frais_477'和'Nb_frais_481'列 –

+0

所以,像「SUM(Nb_frais_477 + Nb_frais_481)」或甚至沒有「SUM」(只需添加這兩列)? - 也許我錯了,我不確定你想要完成什麼...... –

回答

0

的問題是與使用SUM (*),您必須將數值或包含數值的列傳遞給SUM。在你的情況下,你需要:

SUM (Nb_frais_477 + Nb_frais_481)