[英]Group By not aggregating the group by column in SQL
我正在尝试获取已付费服务并在特定年份从mysql数据库注册的用户数。 会员可以为多项服务付费,因此可以计算两次:
select
count(payment_order.memberId) as members,
from_unixtime(account_login.memberFrom, '%Y') as memberFrom
from
payment_order
join
account_login
on
payment_order.memberId = account_login.memberId
Where
account_login.memberFrom != '0'
and payment_order.`status` = 'paid'
and payment_order.dateCompleted >= '2010-01-01 00:00:00'
and payment_order.dateCompleted <= '2011-12-31 23:59:59'
group by memberFrom
与其按年分组,不如按成员人数分组。 我想我正在做某事并且看不到树木的树木:
1, 2005
4, 2005
1, 2005
1, 2006
5, 2006
5, 2006
我正在寻找的是
6, 2005
11, 2006
感谢任何可能解释我迷惑的指针
您正在按account_login.memberFrom
分组,这将创建每行。
然后from_unixtime(account_login.memberFrom, '%Y')
在每个这些行上选择from_unixtime(account_login.memberFrom, '%Y')
,创建重复值。
而是使用GROUP BY from_unixtime(account_login.memberFrom, '%Y')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.