Додать все значение использую where и ввести - MySQL

Узнай цену своей работы

Формулировка задачи:

Есть таблица db_hours, в ней есть много записей со следующими полями id, name, hours, month Понятно, что

hours, month

- типа int Как суммировать все hours где WHERE `name`='Ura' AND `month`='1' и вывести одним числом

Решение задачи: «Додать все значение использую where и ввести»

textual
Листинг программы
SELECT
COALESCE(SUM(CASE WHEN `reason` IN ('1','2','3') THEN `hours` END), 0) AS `prihod`,
COALESCE(SUM(CASE WHEN `reason` IN ('4','5','6') THEN `hours` END), 0) AS `rashod`
FROM `db_hours` WHERE `name`='Ura' AND `month`='1'

Объяснение кода листинга программы

В данном коде выполняется запрос к базе данных db_hours с условием, что имя name равно 'Ura' и месяц month равен '1'. Он возвращает две суммы:

  1. prihod — это сумма часов, которые были потрачены на причины, соответствующие значениям '1', '2' и '3' в столбце reason. Если ни одна из этих причин не была использована, то возвращается 0.
  2. rashod — это сумма часов, которые были потрачены на причины, соответствующие значениям '4', '5' и '6' в столбце reason. Если ни одна из этих причин не была использована, то возвращается 0. Код:
  3. SELECT
  4. COALESCE(SUM(CASE WHEN reason IN ('1','2','3') THEN hours END), 0) AS prihod,
  5. COALESCE(SUM(CASE WHEN reason IN ('4','5','6') THEN hours END), 0) AS rashod
  6. FROM db_hours WHERE name='Ura' AND month='1'

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.2 из 5
Похожие ответы