如何在MySQL中减去两个日期时间

时间:2017-11-03 10:07:10

标签: mysql sql database postgresql

我想计算购买前7天发生的目标网页浏览量。我使用了这个查询,它给出了一个错误

  

"无法从mysql.proc加载。该表可能已损坏"

SELECT count(l.customer_id) FROM customer_profiles.purchase p
left join landingpage_view lp on lp.customer_id = p.customer_id
where lp.datetime between date_sub(p.datetime(), INTERVAL 7 Day) and p.datetime()
and lp.customer_id = '14475'

1 个答案:

答案 0 :(得分:1)

从语法正确的查询开始:

select count(*) 
from customer_profiles.purchase p join
     landingpage_view lp
     on lp.customer_id = p.customer_id
where lp.datetime between date_sub(p.datetime(), interval 7 Day) and p.datetime() and
      lp.customer_id = 14475;

唯一会影响错误的更改是count()。别名l未定义。

其他变化:

  • 您也可以使用count(*)。无需计算列,因为您似乎想要计算行数。
  • where子句将left join变为inner join。因此,请使用查询正在执行的join
  • 我猜customer_id是一个数字,所以我删除了单引号。