我有一个表是这样的:MySQL的计算收益,亏损和净增益在一段时间
id | Customer | date ----------------------------------------- 1 | Customer2 | 2013-08-01 00:00:00 ----------------------------------------- 2 | Customer1 | 2013-07-15 00:00:00 ----------------------------------------- 3 | Customer1 | 2013-07-01 00:00:00 ----------------------------------------- . | ... | ... ----------------------------------------- n | CustomerN | 2012-03-01 00:00:00
我要计算的“虎子”客户每月的“失去“每个月的客户和每个月的净收益,即使在单独的表/视图中完成。
我该怎么做?
编辑
好吧,让我演示一下,我这样做的远。
要选择客户后获得了对任何一个月,我试图从登记表中选择的客户在以下不存在:
select Customer
from Bookings
where not exists
(select Customer
from Bookings
where
(Bookings.date BETWEEN
DATE_FORMAT(DATE_SUB(Bookings.date, INTERVAL 1 MONTH), '%Y-%m-01 00:00:00')
AND DATE_FORMAT(Bookings.date, '%Y-%m-01 00:00:00'
)
) AND Bookings.date >= STR_TO_DATE('2010-11-01 00:00:00', '%Y-%m-%d 00:00:00'))
这理应得到所存在的客户在“选择”一个月,但不在前一个。 “2010-11-01”是预订开始日期+ 1个月。
要选择客户流失对于任何一个月,我试图从登记表中选择的客户在以下不存在:
select Customer
from Booking
where not exists
(select Customer
from Bookings
where
(Bookings.date BETWEEN
DATE_FORMAT(Bookings.date, '%Y-%m-01 00:00:00')
AND Bookings.date
)
AND Bookings.date >= STR_TO_DATE('2010-11-01 00:00:00', '%Y-%m-%d 00:00:00'
)
)
这理应得到的是在上个月中存在的客户,但不是在“选中”一个。
对于“丢失”SQL查询,我得到了空的结果!对于“增益”我得到了成千上万的行,但不知道这是否准确。
那么,什么时候客户失去或获得了什么标准呢? – Mihai
请定义_gain_和_loss_ – geomagas