Mysql按第一个表的日期分组,并按与第二个表不同的字段计数

Mysql按第一个表的日期分组,并按与第二个表不同的字段计数,mysql,Mysql,我有一张用户表 和一张分组表 我需要为每个创建的日子统计每个网站的数量,所以上面的数字会给我2018-06-06年google.com的2个 即 我将返回的行按日期分组,但使用以下查询,每行的计数都是1 select count(distinct users.website), groups.created from user_groups as groups join users on users.id = groups.user_id group by groups.created

我有一张用户表

和一张分组表

我需要为每个创建的日子统计每个网站的数量,所以上面的数字会给我2018-06-06年google.com的2个

我将返回的行按日期分组,但使用以下查询,每行的计数都是1

select count(distinct users.website), groups.created 
from user_groups as groups
 join users on users.id = groups.user_id
 group by groups.created
所以我很简单

count(distinct users.website)  |   created
 1                                  2018-06-06
 1                                  2018-06-06
 1                                  2018-06-06
 1                                  2018-09-09
试试下面

试一试


应该有用

还只是告诉我所有计数=1:@yoyoma,用一个演示修改了答案-你现在可以检查了。我想,他对数据有问题,他所做的查询甚至与他输出的结果集不匹配,我已经测试过了。也许他必须尝试按TRIMwebsite分组,TRIMcreated?删除计数中的distinct。它将删除所有重复项-因此,如果google.com多次出现,它仍将被计算为一个onlyOr,您可以使用count distinct users.id
website   | count   | date

google.com    2        2018-06-06
yahoo.com     1        2018-06-06
yahoo.com     1        2018-09-09
select count(distinct users.website), groups.created 
from user_groups as groups
 join users on users.id = groups.user_id
 group by groups.created
count(distinct users.website)  |   created
 1                                  2018-06-06
 1                                  2018-06-06
 1                                  2018-06-06
 1                                  2018-09-09
select website,created,count(website) as cnt
from groups t2 join users t1 on t1.id = t2.userid
group by website, created
Select distinct(groups.created),count(distinct(users.website))
from user_groups as groups
join users on users.id = groups.user_id
group by groups.created