Mysql - 如果不是在同一天计数

时间:2014-09-11 01:07:35

标签: mysql date count

我必须从MySQL提取客户访问我们办公室的次数。规则是只有在访问次数超过24时才计算访问次数。

如果客户在一天内两次访问办公室,则应计为1(对于报告)。

但是,每次都会在数据库中注册访问,我无法更改数据库或创建新表。我必须与我所拥有的一起工作。

遵循我的场景的SQL小提琴:

输出应该是29次/ 8次两次访问,一次访问是在03/9月进行的。

http://sqlfiddle.com/#!2/fc7f5/2/0

有人可以请我把方向归档到正确的方向吗?我尽可能多地用Google搜索,但找不到合适的答案。

非常感谢您的时间和帮助。

2 个答案:

答案 0 :(得分:0)

您似乎需要使用GROUP BY

select date(visit_date), count(*) 
from visits 
where client_id =1 
group by date(visit_date)

注意:

  • 您可能需要或不需要将visit_date转换为组中的日期 - 取决于它是存储访问时间还是仅存储日期。
  • 此外,您可能需要使用count distinct(client_id),因为您提到在同一天两次不计算同一客户端。你的问题有点不清楚。

答案 1 :(得分:0)

如果你使用select visit_date,count(*) from visits where client_id=1 group by visit_date你会看到它现在报告2次访问29/8和1次03/9月。

计算返回的行数,以了解患者的访问次数。