首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查找一段时间内的固定总和的mysql查询

查找一段时间内的固定总和的mysql查询
EN

Stack Overflow用户
提问于 2013-02-07 13:33:54
回答 1查看 152关注 0票数 0

我有一个包含以下列的mysql表

order_id customer_id total_amount date_added

现在,我想询问一位特定客户,了解该客户在其订单历史记录的六个月内是否下了超过或等于12000美元的订单。这段时间不是最近的。

对此有什么解决方案吗?

问候你,迪鹏

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-07 13:41:49

代码语言:javascript
复制
select sum(total_amount) >= 12000 over_12000
from mytable
where customer_id = nnn
and date_added between 'YYYY-MM-DD' and date_add('YYYY-MM-DD', interval 6 month)

将nnn替换为特定的客户ID,并将YYYY-MM-DD替换为您感兴趣的6个月期间的开始。

更新:

这将使用客户最后一次订单之前的6个月时间:

代码语言:javascript
复制
select sum(total_amount) >= 12000 over_1200
from mytable join (select max(date_added) last_date
                   from mytable
                   where customer_id = nnn) last
where customer_id = nnn
and date_added between last_date and date_sub(last_date, interval 6 month)

更新2:

代码语言:javascript
复制
select m1.date_added end_date, sum(m2.total_amount) >= 12000 
from mytable m1 join mytable m2 on m2.date_added between date_sub(m1.date_added, interval 6 month) and m1.date_added and m1.customer_id = m2.customer_id
where m1.customer_id = nnn
group by end_date
order by end_date
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14744282

复制
相关文章

相似问题

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