webentwicklung-frage-antwort-db.com.de

Wie füge ich Spaltenwerte in mysql hinzu?

Dies sind meine Tabellendaten Student

enter image description here

Und das ist meine Frage -

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 die summe für alle ids anwenden möchte ... lassen sie mich wissen, wie ich das erreichen kann?

23
Trialcoder

Summe ist eine Aggregatfunktion. Sie brauchen es nicht zu benutzen. Dies ist die einfache Abfrage - 

select *,(maths + chemistry + physics ) AS total FROM `student`
62
Piyu

Wenn Sie die Gesamtpunktzahl jedes Schülers benötigen, ist SUM nicht das, was Sie brauchen würden.

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

Wird die Arbeit gut machen.

10
hjpotter92

Sie brauchen nicht SUM für diesen Vorgang. Versuchen Sie diese Abfrage:

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

Tipp: Wenn eines der Felder die Möglichkeit hat, NULL zu sein, verwenden Sie COALESCE , um diese auf 0 zu setzen, andernfalls führt total zu NULL.

SELECT *, (
    COALESCE(maths, 0) +
    COALESCE(chemistry, 0) +
    COALESCE(physics, 0)
) AS total 
FROM `student`
4
digout

Die Summenfunktion in MySQL funktioniert in dem Sinne, dass Sie die Summe der Werte in einer Spalte aus Ihrer select-Anweisung erhalten. Wenn Sie Werte aus einer Zeile in Ihrer Abfrage summieren müssen, verwenden Sie einfach das Pluszeichen (+) Was Sie brauchen, ist diese Abfrage:

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

So erhalten Sie die gewünschten Ergebnisse.

0
Benson Kiprono

Alle Aggregatfunktionen können in Zeilen verwendet werden, die nach Vornamensname und nach Operationen gruppiert sind. Sie müssen eine Operation für einzelne Zeilen durchführen, was für keine Aggregatfunktion eine Option ist. 

0
Saikat Biswas

Versuche dies

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

Du bist fertig. Vielen Dank

0