查找登录到同一辆车的用户

时间:2017-11-28 10:22:54

标签: mysql sql

我有表格列:

 ---------------------------+---------+----------------------------+--------+
 LogIn                      | CarNr   |LogOut                      | UserID | 
 ---------------------------+---------+----------------------------+--------+          
 2017-11-18-18.00.56.167000 | 7457518 | 2017-11-18-18.01.22.000000 | u39    |
 2017-11-18-18.01.10.443000 | 7456618 | 2017-11-18-18.01.22.000000 | u2     |
 2017-11-18-18.01.25.361000 | 7456586 | 2017-11-18-18.01.29.000000 | u64    |
 2017-11-18-18.01.32.008000 | 7456612 | 2017-11-18-18.01.49.000000 | u17    |
 2017-11-18-18.01.34.185000 | 7456257 | 2017-11-18-18.01.43.000000 | u2     |
 2017-11-18-18.01.49.247000 | 7456345 | 2017-11-18-18.02.16.000000 | u64    |
----------------------------+---------+----------------------------+---------+

事实上,数据更多。

有没有办法找到在一分钟内登录同一个CarNr的所有用户?

我需要SQL-Query来查找这些用户。

1 个答案:

答案 0 :(得分:0)

试试这个;

SQL Server

select CarNr, DATEADD(ms, -DATEPART(ms, LogIn), LogIn) from Table 
group by CarNr, DATEADD(ms, -DATEPART(ms, LogIn), LogIn) having count(*) > 1

MySQL

select CarNr, DATE_ADD(LogIn, INTERVAL(-MICROSECOND(LogIn)) MICROSECOND) from Table 
group by CarNr, DATE_ADD(LogIn, INTERVAL(-MICROSECOND(LogIn)) MICROSECOND) having count(*) > 1

通过减去毫秒来组合LogIn日期时间。