我想从表中检索 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
最佳答案
也许你想要这个。我把你的 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
关于php - #1111 - 在 case 语句 mysql 中组函数的使用无效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30148448/