gpt4 book ai didi

mysql - 错误使用内连接函数/分组函数?

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

我的查询遇到以下问题:

我有两个表:

  1. 客户
  2. 订阅者

通过 customer.id=subscriber.customer_id 链接在一起

在订户表中,我有 id_customer=0 的记录(这些是电子邮件记录,没有完整的客户帐户)

现在我想显示我每天有多少个客户,有多少个 id_customer 的订阅者,以及有多少个 id_customer=0 的订阅者(我只称呼他们为电子邮件)

不知何故,我无法仅收到这些电子邮件。也许这与没有使用正确的连接类型有关。当我使用左连接时,我得到了适量的客户,但没有得到适量的电子邮件。当我使用内部联接时,我得到的客户数量错误。我是否正确使用了群组功能?我认为这与此有关。

这是我的查询:

   `   SELECT DATE(c.date_register),
COUNT(DISTINCT c.id) AS newcustomers,
COUNT(DISTINCT s.customer_id) AS newsubscribedcustomers,
COUNT(DISTINCT s.subscriber_id AND s.customer_id=0) AS emailonlies
FROM customer c
LEFT JOIN subscriber s ON s.customer_id=c.id
GROUP BY DATE(c.date_register)
ORDER BY DATE(c.date_register) DESC
LIMIT 10
;`

最佳答案

我不完全确定,但我认为在 DISTINCT s.subscriber_id AND s.customer_id=0 ,它运行AND之前DISTINCT ,所以DISTINCT只能看到真与假。

你为什么不直接采取

COUNT(DISTINCT s.subscriber_id) - (COUNT(DISTINCT s.customer_id) - 1)?

(-1 在那里是因为 DISTINCT s.customer_id 将计为 0。)

关于mysql - 错误使用内连接函数/分组函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20692262/

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