gpt4 book ai didi

MySQL COUNT 和合并重复记录

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

我正在尝试运行一个查询来计算每个用户的订单数。不幸的是,系统最初设置得不好,存在大量重复的客户记录(使用相同的电子邮件地址)。

我目前有以下简单查询:

SELECT 
u.id,
u.name
u.email,
COUNT(o.id) AS num_orders
FROM users u
INNER JOIN orders o
ON o.user_id = u.id
GROUP BY u.id
ORDER BY u.id

我可以做些什么来合并重复用户的计数吗?

任何建议表示赞赏。

谢谢

最佳答案

SELECT  
u.email,
COUNT(o.id) AS num_orders
FROM users u
INNER JOIN orders o
ON o.user_id = u.id
GROUP BY u.email
ORDER BY u.email

顺便说一句,虽然 mysql 允许您执行 GROUP BY u.id 并省略查询中的其他非聚合字段,但它不是一个好的 SQL,也不是标准的 SQL,应该避免。

关于MySQL COUNT 和合并重复记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12835346/

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