日期:2014-05-17  浏览次数:20465 次

查询新用户注册后0-30或30-60天支出( 急!)
本帖最后由 u012742923 于 2014-01-15 15:24:53 编辑
如题
想计算用户注册之日起,0-30天;30-60天的支付情况

已知的语句

SELECT sum(订单支出) AS 30-60天支出
FROM 订单表  
WHERE 
订单创建时间>=dateadd(day,30,用户注册时间)
and 
订单创建时间<=dateadd(day,60,用户注册时间)

补充一下;有两个表,一个订单表,一个用户注册表(里面有用户注册时间)

单独一个用户可以用上边语句查到,可是注册用户很多上面的语句不灵光了
请高人指点一下


分不多。对我工作很重要,先谢谢了!

------解决方案--------------------
不清楚你的表结构和数据,暂时写这个,有问题继续提,回复请引用
SELECT  SUM(订单支出) AS [30-60天支出] ,
        U.用户id
FROM    订单表 d
        RIGHT JOIN 用户注册表 u ON d.用户ID = U.用户ID
WHERE   订单创建时间 >= DATEADD(day, 30, u.用户注册时间)
        AND 订单创建时间 <= DATEADD(day, 60, u.用户注册时间)
GROUP BY u.用户ID

------解决方案--------------------
SELECT a.用户,sum(订单支出) AS [30-60天支出]
FROM 订单表  a
left join 用户注册表 b
       on a.订单创建时间>=dateadd(day,30,b.用户注册时间)
  and 
  a.订单创建时间<=dateadd(day,60,b.用户注册时间)
group by a.用户