gpt4 book ai didi

mysql - 有任何 SQL GROUP_CONCAT 替代函数吗?

转载 作者:行者123 更新时间:2023-11-29 15:43:26 25 4
gpt4 key购买 nike

这里我已经完成了我的sql查询。有人知道 GROUP_CONCAT 替代函数所以让我知道吗?

SQL 错误:

<h1>A Database Error Occurred</h1>
<p>Error Number: 1140</p>
<p>In aggregated query without GROUP BY, expression #1 of SELECT list contains nonaggregated column 'smartsaver.ud.id'; this is incompatible with sql_mode=only_full_group_by</p>

SQL命令:

    SELECT ud.id, ud.url, d.document_name, d.d
GROUP_CONCAT(LEFT(REPLACE(url, "document", "thumb"), CHAR_LENGTH(REPLACE(url, "document", "thumb")) - LOCATE(".", REVERSE(REPLACE(url, "document", "thumb")))), ".", "png")
ud.document_url
END as new_url, CASE WHEN ud.type = 1 THEN "Image" WHEN ud.type = 2 THEN "Video" WHEN ud.type = 3 THEN "File" WHEN ud.type = 4 THEN "Text" ELSE "" END as type, d.added_on, ud.type as document_type
FROM tbl_uplaod_document ud
JOIN tbl_document d ON d.id = ud.document_id
LEFT OUTER JOIN tbl_document_project_relation pr
ON pr.document_id = ud.document_id

WHERE ud.is_active = 1
AND d.is_active = 1
AND ud.user_id = 1
AND ud.document_id = 116
LIMIT 10

最佳答案

@dev5 你的代码难以阅读

SELECT 列表的表达式 #1 不在 GROUP BY 子句中,并且包含非聚合列“smartsaver.ud.id”,该列在功能上不依赖于 GROUP BY 子句中的列;这与 sql_mode=only_full_group_by 不兼容。

通过以下命令更改 MySQL 中的 sql 模式即可简单解决:

SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));

谢谢你:-)

关于mysql - 有任何 SQL GROUP_CONCAT 替代函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57336050/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com