如何检测细胞值是否在一天内出现两次

时间:2016-07-29 23:41:22

标签: mysql date sum

提前道歉标题的模糊性。这是一个困扰我的问题,我努力争取更具体。

首先,为了帮助查看我的问题,我已将我的数据库照片上传到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)也属于这一类。

我尽力把事情放在一起,但不可否认,我完全迷失了。

提前致谢, 利安

1 个答案:

答案 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