解决 sql_mode=only_full_group_by
企业微信截图_1598344385325.png
用mysql 的any_value函数包起来
示例(报错写法)
SELECT
DISTINCT a.id,a.answer_user_id as user_id,u.user_name,u.dep_id,au.nickname,a.choose_content,a.sign_image,a.subject_id,a.type,a.create_time,FROM_UNIXTIME(a.create_time,"%Y-%m-%d %H:%i:%s") as create_time_date,CONCAT(a.answer_user_id,a.create_time) AS hebing
,CONCAT('[',GROUP_CONCAT(CONCAT('{"subject_id":"',a.subject_id,'","subject_type":"',a.`type`,'","choose_content":',a.choose_content,'}'),','),']') AS ivi
FROM `mgtx_a_answer` `a`
LEFT JOIN `mgtx_user` `u` ON `a`.`answer_user_id`=`u`.`user_id`
LEFT JOIN `mgtx_a_wx_user` `au` ON `a`.`answer_user_id`=`au`.`openid`
WHERE `a`.`questionnaire_id` = 8593 AND `a`.`answer_user_id` IS NOT NULL GROUP BY a.answer_user_id -- ORDER BY `a`.`subject_id` ASC
示例 (解决写法)
SELECT
DISTINCT ANY_VALUE(a.id),a.answer_user_id as user_id,ANY_VALUE(a.sign_image),ANY_VALUE(a.subject_id),ANY_VALUE(a.type)
,ANY_VALUE(a.create_time),FROM_UNIXTIME(ANY_VALUE(a.create_time),"%Y-%m-%d %H:%i:%s") as create_time_date,CONCAT(a.answer_user_id,ANY_VALUE(a.create_time)) AS hebing
,CONCAT('[',GROUP_CONCAT(CONCAT('{"subject_id":"',a.subject_id,'","subject_type":"',a.`type`,'","choose_content":',a.choose_content,'}'),','),']') AS ivi
FROM `mgtx_a_answer` `a`
WHERE `a`.`questionnaire_id` = 8593 AND `a`.`answer_user_id` IS NOT NULL GROUP BY a.answer_user_id
企业微信截图_1598344385325.png