CASE WHEN Mysql
Формулировка задачи:
Надо получить суму в диапозоне с определённой ячейки для этого добавляю ниже приведённый селект,
т.к с конструкцией CASE WHEN не знаком возможно есть какие-то логические ошибки.. почему-то сумма дублируемая получается ...
SUM( CASE WHEN debtorPayments.date BETWEEN :changeStart AND :changeEnd THEN debtorPayments.amount ELSE 0 END) AS timePeriodPaidAmount')
Решение задачи: «CASE WHEN Mysql»
textual
Листинг программы
SELECT SUM(FIELD) AS total FROM .... WHERE `date` BETWEEN .... AND ....
Объяснение кода листинга программы
Ваш запрос похож на SQL-запрос, который использует функцию SUM() для вычисления общего значения поля FIELD. Это поле вероятно содержит числовые данные. Результат этого запроса будет содержать только одно поле, названное total
, которое будет содержать общее значение.
SELECT SUM(FIELD) AS total
- эта часть запроса говорит о том, что мы хотим вычислить сумму всех значений поля FIELD. Мы используем функцию SUM() для этого.AS total
указывает, что мы хотим назвать новое полеtotal
.FROM ...
- здесь нужно указать имя таблицы или представления, из которого мы хотим извлечь данные. Без этой информации невозможно составить полный запрос.WHERE
dateBETWEEN ... AND ...
- эта часть запроса говорит о том, что мы хотим выбрать только те строки, где значение поляdate
находится между определенными датами. Без конкретных дат невозможно точно сказать, что здесь происходит. В итоге, этот запрос вернет одну строку, содержащую только одно поле, которое будет содержать общее значение всех значений поля FIELD за указанный период времени.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д