假设我有一张表格,反映了客户迄今为止所做的所有个人购买(请参阅下图,了解我想要的输出)
如何在MYSQL中编写一个返回这两列+:
的查询答案 0 :(得分:2)
您可以使用相关子查询。以下是您获得上一个日期的方式:
select p.*,
(select p2.purchase_date
from purchases p2
where p2.customerid = p.customerid and
p2.purchase_date < p.purchase_date
order by p2.purchase_date desc
limit 1
) as prev_purchase_date
from purchases p;
您可以将其用作子查询,然后使用prev_purchase_date
对最终列进行计算。