mysql计算唯一用户列表的时差

时间:2012-12-06 12:43:03

标签: mysql sql database

我有以下情况

  1. 用户从谷歌访问该网站,我们将此信息记录在数据库表“visitSearchEngine”中。如果用户注册,那么他的状态是活动的,即1,如果他没有,则他的状态变为非活动状态,即0。所以,我需要一个查询,其中..如果用户访问该网站并且没有在10分钟内注册,那么列出这些用户。

    我写了一个以下查询,但它无法正常工作

    select distinct(users) , avisitedDate from visitSearchEngine vs
    WHERE vs.users!=' ' 
    AND vs.status='0' 
    AND hitType='googleIdentified'
    AND avisitedDate>'2012-12-06' 
    AND minute(timediff(now(),avisitedDate))>=10
    AND minute(timediff(now(),avisitedDate))<11
    
    //avisitedDate is Today's date. 
    
  2. 我想计算currentTime和visitedDate之间的差异,如果是10分钟,则列出这些用户。

    谢谢,

3 个答案:

答案 0 :(得分:1)

我认为你想要的是time_to_sec

select distinct(users) , avisitedDate from visitSearchEngine vs
WHERE vs.users!=' ' 
AND vs.status='0' 
AND hitType='googleIdentified'
AND avisitedDate>'2012-12-06' 
AND time_to_sec(timediff(now(),avisitedDate))>=10*60
AND time_to_sec(timediff(now(),avisitedDate))<11*60

答案 1 :(得分:0)

试试这个::

select distinct(users) , avisitedDate from visitSearchEngine vs
WHERE vs.users!=' ' 
AND vs.status='0' 
AND hitType='googleIdentified'
AND DATE(avisitedDate)>'2012-12-06' 
AND minute(timediff(now(),avisitedDate))>=10
AND minute(timediff(now(),avisitedDate))<11

答案 2 :(得分:0)

得到了答案,使用了time_to_Sec ......并显示了..

select distinct(users) , avisitedDate from visitSearchEngine vs
WHERE vs.users!=' ' 
AND vs.status='0' 
AND hitType='googleIdentified'
AND DATE(avisitedDate)>'2012-12-06' 
AND ((time_to_Sec(timediff(now(),avisitedDate)))/60)>=5
AND ((time_to_Sec(timediff(now(),avisitedDate)))/60)<6