提前道歉标题的模糊性。这是一个困扰我的问题,我努力争取更具体。
首先,为了帮助查看我的问题,我已将我的数据库照片上传到http://imgur.com/a/rTyn8。
基本上,我一直在我的数据库中添加付款并且遇到了一个复杂的问题(根据我对MySQL的理解,无论如何,这是最好的平庸)问题。
我想计算任何给定客户(customer_id)有17&的job_id付款的次数。一天12点。如果他们这样做,我就想计算它们的增加成本。但是,我想在两个特定日期(例如2016-01-01 - 2016-05-06)之间在整个数据库中运行此查询,并在此期间生成总收入。
在上面链接的图片中,customer_id为1658的客户有两笔付款 - 其中一个的job_id为12,其中一个为17.因此,我想加上这两个的成本( 6.00 + 19.80)以及符合此标准的任何其他人,并得出总数。
为了澄清一点,我所指的行下面的客户(顾客名为1913)也属于这一类。
我尽力把事情放在一起,但不可否认,我完全迷失了。
提前致谢, 利安
答案 0 :(得分:1)
将表连接到自身,每个作业类型一次:
select
count(*) quantity,
sum(a.cost + b.cost) total
from mytable a
join mytable b on b.customer_id = a.customer_id
and a.date = b.date
where a.date between '2016-01-01' and '2016-05-06'
and a.job_id = 17
and b.job_id = 12
如果您希望按customer_id
细分,请将a.customer_id
添加到所选列,然后添加group by customer_id
。