【发布时间】:2020-07-05 16:14:57
【问题描述】:
SQL 错误
SQLSTATE[42000]:语法错误或访问冲突:1140 混合 没有 GROUP 列的 GROUP 列 (MIN(),MAX(),COUNT(),...) 是 如果没有 GROUP BY 子句,则非法(SQL:SELECT sum(vehicles.total_amount) 作为 TotalAmount, COALESCE(CONCAT(payment_mode.payment_name, '(', ROUND( SUM(vehicles.total_amount)*100/Total.TotalAmount, 2),'%)'),0) 为 百分比 FROM
vehiclesLEFT OUTER join payment_mode ON payment_mode.id = Vehicles.pay_mode_id 左外连接(选择 SUM(vehicles.total_amount) 作为 TotalAmount,来自车辆的标志)作为 Total ON Total.flag=vehicles.flag WHERE vehicle.created_at > '2020-03-25 00:01:01' 和车辆.created_at
SQL 查询
SELECT sum(vehicles.total_amount) as TotalAmount,
COALESCE(CONCAT(payment_mode.payment_name, '(', ROUND( SUM(vehicles.total_amount)*100/Total.TotalAmount, 2),'%)'),0) as Percent
FROM `vehicles`
LEFT OUTER join payment_mode ON payment_mode.id = vehicles.pay_mode_id
LEFT OUTER JOIN (SELECT SUM(vehicles.total_amount) as TotalAmount, flag from vehicles) as Total ON Total.flag=vehicles.flag
WHERE vehicles.created_at > '$today' and vehicles.created_at < '$todays'
GROUP BY vehicles.pay_mode_id
这是我的代码,即使这段代码在 MySQL 上运行良好,但是当我放入 Laravel 时,它会显示错误。
【问题讨论】: