首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL计算前一年按客户列出的订单数

MySQL计算前一年按客户列出的订单数
EN

Stack Overflow用户
提问于 2015-07-22 23:38:57
回答 1查看 17关注 0票数 0

想知道如何在MySQL中完成这样的事情-基本上我需要通过订单来获取前一年的订单数量,所以如果有人下了三个订单(1.1.13,1.7.13和1.1.15,第一个和最后一个订单将是零,因为前一年没有预订,但中间的订单将是一个,因为6个月前有预订)。

像这样的东西得到了前三个,不确定如何获得总数?

代码语言:javascript
复制
SELECT order_no, email, order_date
FROM table.orders

order_no    email                       order_date      prev_yr_orders

143254      example@example.com 25/07/2013           1

646743      example@example.com 24/09/2013           2

757743      example@example.com 16/02/2014           3

993253      example@example.com 23/02/2014           4

535325      example@example.com 31/03/2015           1
EN

回答 1

Stack Overflow用户

发布于 2015-07-22 23:55:05

您可以使用相关子查询轻松完成此操作:

代码语言:javascript
复制
select o.*,
       (select count(*)
        from orders o2
        where o2.email = o.email and
              o2.order_date < o.order_date and
              o2.order_date >= o.order_date - interval 1 year
       ) as NumOrdersPrevYear
from orders o;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31567810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档