我正在使用此查询:
SELECT p.id, count(clicks.ip)
FROM `p`
LEFT JOIN c clicks ON p.id = clicks.pid
WHERE clicks.ip = '111.222.333.444'
要从表格“c”中选择点击次数,即“pid”=“p.id”。查询似乎工作正常,但现在我想将该查询与日期范围一起使用。 “c”表有一列“time”,它使用MySQL CURRENT_TIMESTAMP数据类型(YYYY-MM-DD HH:MM:SS)。 如何使用该列将我的查询与日期范围一起使用?
我希望能够从特定日期选择count(clicks.ip),并按小时对结果进行分组(但这是针对不同的查询)。
答案 0 :(得分:0)
使用:
SELECT p.id,
COUNT(clicks.ip)
FROM `p`
LEFT JOIN c clicks ON clicks.pid = p.id
AND clicks.ip = '111.222.333.444'
AND clicks.time BETWEEN DATE_SUB(NOW(), INTERVAL 1 DAY)
AND NOW()
我提供了一个示例,用于计算昨天(DATE_SUB(NOW(), INTERVAL 1 DAY)
)和今天(NOW()
)之间发生的点击次数。请注意,BETWEEN具有包容性。