2012-09-12 28 views
22

Dies ist meine Tabellendaten StudentWie Spaltenwerte in mysql

enter image description here

Und das ist meine Abfrage hinzuzufügen -

SELECT id, SUM(maths + chemistry + physics) AS total, maths, chemistry, physics 
FROM `student` 

aber es wirft eine einzelne Reihe -

id total maths chemistry physics 
118  760  55 67 55 

obwohl ich Summe für alle IDs anwenden möchte .... lass mich kn Wie kann ich das erreichen?

Antwort

54

Summe ist eine Aggregatfunktion. Du brauchst es nicht zu benutzen. Dies ist die einfache Abfrage -

+2

+1 für sehr einfache Lösung :) – Trialcoder

10

Wenn Sie eine Gesamtnote für jeden Schüler benötigen, ist SUM nicht das, was Sie benötigen.

SELECT id, 
    (maths+chemistry+physics) AS total, 
    maths, 
    chemistry, 
    physics 
FROM `student` 

Wird die Arbeit gut machen.

+0

eine andere faszinierende Antwort .. Sie Jungs sind genial .... sehr hilfreiche Plattform für einen Lerner :) – Trialcoder

8

Sie müssen SUM für diesen Vorgang nicht verwenden. Versuchen Sie diese Abfrage:

SELECT id, (maths + chemistry + physics) AS total, maths, chemistry, physics 
FROM `student` 
0

Alle Aggregatfunktionen funktionieren in Zeilen, die von rowname und group by operation angegeben werden. Sie benötigen eine Operation für einzelne Zeilen, was keine Option für eine Aggregatfunktion ist.

Verwandte Themen