MYSQL具有特定条目数的列的总和
您好,我正在尝试根据以下数据计算过去三个月内多次出现的不同AccountID的数量;我希望查询结果为2,因为test1@gmail.com及test2@gmail.com出现超过1次MYSQL具有特定条目数的列的总和,mysql,sql,group-by,Mysql,Sql,Group By,您好,我正在尝试根据以下数据计算过去三个月内多次出现的不同AccountID的数量;我希望查询结果为2,因为test1@gmail.com及test2@gmail.com出现超过1次 accountid purchase requesttime test1@gmail.com 150 2017-01-01 test2@gmail.com 100 2017-01-01 test1@gmail.com 100 2017-01-01 t
accountid purchase requesttime
test1@gmail.com 150 2017-01-01
test2@gmail.com 100 2017-01-01
test1@gmail.com 100 2017-01-01
test1@gmail.com 200 2017-01-01
test2@gmail.com 240 2017-01-01
test1@gmail.com 210 2017-01-01
test3@gmail.com 4 2017-01-01
test4@gmail.com 60 2017-01-01
我认为您需要两个级别的聚合。第一个返回满足条件的电子邮件:
select n.account_id, count(*) as cnt
from ndsbulkstorage22 n
where requesttime >= CURRENT_DATE - interval 3 month
group by accountid
having count(*) > 1;
然后可以将其用作子查询:
select count(*)
from (select n.account_id, count(*) as cnt
from ndsbulkstorage22 n
where requesttime >= CURRENT_DATE - interval 3 month
group by accountid
having count(*) > 1
) n;
我认为您需要两个级别的聚合。第一个返回满足条件的电子邮件:
select n.account_id, count(*) as cnt
from ndsbulkstorage22 n
where requesttime >= CURRENT_DATE - interval 3 month
group by accountid
having count(*) > 1;
然后可以将其用作子查询:
select count(*)
from (select n.account_id, count(*) as cnt
from ndsbulkstorage22 n
where requesttime >= CURRENT_DATE - interval 3 month
group by accountid
having count(*) > 1
) n;
此查询将显示请求时间前3个月的结果和一些采购字段 MYSQL
select accountid,sum(purchase) as your_sum,requesttime from tbl_sum
where requesttime <=DATE_ADD(requesttime,INTERVAL -3 month) GROUP BY accountid,requesttime
select accountid,sum(purchase) as your_sum,requesttime from tbl_sum
where requesttime <=DATEADD(month,-3,requesttime) GROUP BY accountid,requesttim
选择accountid,sum(purchase)作为您的金额,requesttime from tbl\u sum
其中requesttime此查询将显示请求时间前3个月的结果和一些购买字段
MYSQL
select accountid,sum(purchase) as your_sum,requesttime from tbl_sum
where requesttime <=DATE_ADD(requesttime,INTERVAL -3 month) GROUP BY accountid,requesttime
select accountid,sum(purchase) as your_sum,requesttime from tbl_sum
where requesttime <=DATEADD(month,-3,requesttime) GROUP BY accountid,requesttim
选择accountid,sum(purchase)作为您的金额,requesttime from tbl\u sum
其中requesttime您声明的需求和尝试的查询不匹配。如果您提供了正确的CREATE和INSERT语句以及所需的结果,这将非常有用。查看您声明的要求和您尝试的查询不匹配。如果您提供了正确的CREATE和INSERT语句以及所需的结果,这将非常有用。看见