# 1111 — Неправильное использование групповой функции в операторе case mysql?

Я хочу получить due_date из таблицы, я использовал следующий запрос, но он возвращает invalid use of group function ошибка. Что не так с моим запросом?

Мой запрос приведен ниже,

   select
sum(
case when invoices.due_date LIKE '2015-05-10%'
then sum(invoice_items.quantity*invoice_items.rate)-sum(IFNULL(payments.amount,0))
end
)as 1day,
sum(
case when invoices.due_date LIKE '2015-05-09%'
then sum(invoice_items.quantity*invoice_items.rate)-     sum(IFNULL(payments.amount,0))
end
)as yesterday
from `invoices`
inner join `invoice_items` on `invoice_items`.`invoice_id` = `invoices`.`id`
left join `payments` on `payments`.`invoice_id` = `invoices`.`id`
where `invoices`.`deleted_at` is null

1

Решение

Возможно, вы хотите этого. Я удалил твой SUM() внутри дела.

select
sum(
case when invoices.due_date LIKE '2015-05-10%'
then (invoice_items.quantity*invoice_items.rate)-(IFNULL(payments.amount,0))
end
)as 1day,
sum(
case when invoices.due_date LIKE '2015-05-09%'
then (invoice_items.quantity*invoice_items.rate)-     (IFNULL(payments.amount,0))
end
)as yesterday
2

Другие решения

Других решений пока нет …