解决 sql_mode=only_full_group_by

解决 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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。