gpt4 book ai didi

Mysql ONLY_FULL_GROUP_BY + Join + GroupBy + Count = 无效计数

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

我正在尝试运行如下查询:

SELECT cc.slug AS cc_slug
, cp.slug AS cp_slug
, COUNT(cp.id)
FROM catalog_categories AS cc
LEFT
JOIN catalog_products cp
ON cc.id = cp.category_id
GROUP
BY cc.id
, cp.id

并希望获得每个类别的关联产品数量,但我只检索“0”和“1”,而不是正确的计数。它是由第二个分组 group by ... cp.id 引起的,但无法删除,因为启用了 ONLY_FULL_GROUP_BY。例如,如果我运行如下查询(不按连接表分组):

SELECT COUNT(cp.id) 
FROM catalog_categories AS cc
LEFT
JOIN catalog_products cp
ON cc.id = cp.category_id
GROUP
BY cc.id

我得到了正确的结果,但问题是我需要 SELECT 中的所有这些字段和别名。

有什么办法可以解决这个问题吗?

最佳答案

您可以将 cp.id 放入聚合函数中,如下所示:

SELECT COUNT(cp.id), MAX(cp.id) 
FROM catalog_categories AS cc
LEFT JOIN catalog_products cp ON cc.id = cp.category_id
GROUP BY cc.id

这样您就可以选择每个 cc.id 的最大 cp.id

关于Mysql ONLY_FULL_GROUP_BY + Join + GroupBy + Count = 无效计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42007199/

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