Подтвердить что ты не робот

Как добавить значения столбца в mysql

Это мои данные таблицы Student

enter image description here

И это мой запрос -

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

но он бросает одну строку -

id  total   maths   chemistry   physics
118     760     55  67  55

хотя я хочу применить сумму для всех идентификаторов.... дайте мне знать, как я могу это достичь?

4b9b3361

Ответ 1

Сумма - это совокупная функция. Вам не нужно использовать его. Это простой запрос -

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

Ответ 2

Если вам требуется получить итоговые оценки каждого ученика, то SUM не то, что вам нужно.

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

Выполняет эту работу просто отлично.

Ответ 3

Вам не нужно использовать SUM для этой операции. Попробуйте этот запрос:

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

Ответ 4

Подсказка: если одно из полей может иметь значение NULL, используйте COALESCE, чтобы установить для них значение по умолчанию 0, иначе total приведет к NULL.

SELECT *, (
    COALESCE(maths, 0) +
    COALESCE(chemistry, 0) +
    COALESCE(physics, 0)
) AS total 
FROM 'student'

Ответ 5

Вся функция агрегата работает в строках, заданных командой rowname и group by operation. Вам нужна операция по отдельным строкам, которая не является опцией для какой-либо агрегатной функции.

Ответ 6

Попробуй это

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

Вы сделали. Спасибо

Ответ 7

Функция суммы в MySQL работает в том смысле, что она дает вам сумму значений в столбце из вашего оператора select. Если вам нужно суммировать значения из строки в вашем запросе, просто используйте плюс (+). Вам нужен этот запрос:

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

Это даст вам необходимые результаты.