gpt4 book ai didi

php - 顺序和选择子句中的 Full Group BY 错误

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

我有一个导致这个的临时表 -

number   contact_id      email           email_id
8 204 ask@gmail.com 185
8 205 ask@gmail.com 186

我需要获取使用 email 列对查询进行分组的结果。

当我尝试这个时 -

SELECT number, contact_id, email_id 
FROM contact
GROUP BY email
ORDER BY contact_id, email_id

它给出一个 FULL_GROUP_BY 错误作为

SELECT list is not in GROUP BY clause and contains nonaggregated column...

当我修改 select 子句以使用 ANY_VALUE 关键字作为

SELECT ANY_VALUE(number), ANY_VALUE(contact_id), ANY_VALUE(email_id)

它给出了一个错误——

Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'contact_id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

有什么方法可以通过 email 对结果进行分组并只返回一行吗?

例如要么

8       204         ask@gmail.com           185`

8       205         ask@gmail.com           186

注意:我需要执行此操作以保持启用 only_full_group_by 模式 (MySQL 5.7+)。此外,我无法删除任何 order_by 子句。

最佳答案

我已经通过以下查询设法解决了这个问题。如果有人有更好的方法,请张贴作为答案。

   SELECT ANY_VALUE(number), ANY_VALUE(contact_id), ANY_VALUE(email_id)
FROM contact
GROUP BY email
ORDER BY MIN(contact_id), MIN(email_id)

关于php - 顺序和选择子句中的 Full Group BY 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40757561/

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