我在MySQL 5.7中遇到了以下查詢問題,但在MySQL 5.6中運行良好。#1055 - SELECT列表中的表達式#6不在GROUP BY子句中並且包含非聚集列
此消息每次出現:
1055 - 表達#SELECT列表的6不在GROUP BY子句中包含非聚合列
「electricity_databases.electricity_invoices.date_inserted」,這並不功能依賴於列在GROUP BY子句中;這是用的sql_mode = only_full_group_by
SQL代碼不兼容:
SELECT
homes.id,
homes.homeName,
homes.city,
homes.date_registered,
ROUND(SUM(electricity_invoices.total), 2) AS TotalPrice,
DATEDIFF(NOW(), electricity_invoices.date_inserted) AS last_insert_in_days,
MAX(electricity_invoices.date_inserted) AS last_insert,
COUNT(electricity_invoices.homeID) AS countPaymentTimes,
MAX(electricity_invoices.currRead) AS currRead,
MAX(electricity_invoices.prevRead) AS prevRead,
ROUND(MAX(electricity_invoices.currRead) - MAX(electricity_invoices.prevRead), 1) AS lastComp,
customer.name
FROM homes
LEFT JOIN electricity_invoices ON
homes.id = electricity_invoices.homeID
LEFT JOIN customer ON
homes.id = customer.homeID
GROUP BY homes.id
ORDER BY homes.id
我該怎麼辦,你能解釋一下我請 – mohdadawe
@mohdadawe - 看看http://stackoverflow.com/questions/23921117/disable-only-full-group-by – GurV