$bo_facilities = DB::select('SELECT
a.bo_facility_code,
a.bo_facility_groupcode,
a.bo_number,
a.bo_indYesOrNo,
a.bo_indLogic,
b.bo_content_facility_description
FROM bo_facilities AS a
RIGHT JOIN bo_content_facilities AS b
ON b.bo_content_facility_code = a.bo_facility_code AND b.bo_content_facility_facilityGroupCode = a.bo_facility_groupcode
WHERE a.bo_hotel_code = "'.$hotel['code'].'" GROUP BY b.bo_content_facility_description');
错误消息:
"message": "SQLSTATE[42000]: Syntax error or access violation: 1055
'philex.main.a.bo_facility_code' isn't in GROUP BY (SQL:
SELECT a.bo_facility_code,
a.bo_facility_groupcode,
a.bo_number,
a.bo_indyesorno,
a.bo_indlogic,
b.bo_content_facility_description
FROM bo_facilities AS a
right join bo_content_facilities AS b
ON b.bo_content_facility_code = a.bo_facility_code
AND b.bo_content_facility_facilitygroupcode =
a.bo_facility_groupcode
WHERE a.bo_hotel_code = "'.$hotel['code'].'"
GROUP BY b.bo_content_facility_description
)",
由于 GROUP BY 方法,我收到此错误。
最佳答案
看看aggregate functions在mysql中。
如果您按 b.bo_content_facility_description
对结果进行分组,则 SELECT
中不在 GROUP BY
中的其他字段应与诸如 SUM
、COUNT
等函数
按该单个字段进行分组而不对其他字段进行任何排列是有意义的,因为您没有指定如何组合其他字段来获取分组字段的单个记录。
我建议您理清思路,了解您期望的结果。
关于php - Laravel 中的查询生成器(GROUP BY),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55310962/