SQL-如何在过去90天内让用户获得保修

时间:2017-07-17 06:06:31

标签: mysql sql

我有一张带有custid,purchase_timestamp(dd-mm-yyyy)和warranty_period的表格。 我需要在过去90天内购买的客户数量以及在90天之前购买的用户数量,但他们的保修期在过去90天之间。 我怎么能为此编写SQL。感谢

|**custid |    warranty_period  |   purchase_timestamp
|1        |      365            |   03-01-2017  
|2        |      30             |   03-04-2017
|3        |     10              |   25-05-2017
|4        |      30             |   20-05-2017
|5        |     365             |   04-06-2017
|6        |     100             |   18-06-2017
|7        |     90              |   30-06-2017
|8        |     10              |   05-07-2017
|9        |        30           |   09-07-2017
|10       |     365             |   17-07-2017**



SELECT COUNT(custid)
    FROM db
    HAVING SUM(warranty_period+purchase_timestamp)> getdate()-90 or purchase_timestamp>getdate()-90

这是我的试用查询,它只是不移动

1 个答案:

答案 0 :(得分:0)

如果我理解你,你需要这样的东西:

select count(custid)
  from db
  where datediff(day, purchase_timestamp, getdate()) <= 90 or warranty_period < 90

datediff()为您提供两个日期之间的区别。第一个参数day指定您希望以天为单位的差异。