sql >> Database teknologi >  >> RDS >> Mysql

beregning af den samlede login-logout-tid for en bestemt bruger i mysql

a'rs anbefaling giver rigtig god mening. Også at beregne varigheden for hver session ved logout er en meget bedre tilgang - selvom dette ikke er strengt normaliseret, spreder det beregningsbyrden...

SELECT ilv.employee, SUM(UNIX_TIMESTAMP(logouttime) - IF(logintime IS NULL, UNIX_TIMESTAMP(logouttime), UNIX_TIMESTAMP(logintime))) FROM ( SELECT a.employeeId, a.time AS logouttime, (SELECT MAX(b.time) FROM log b WHERE b.employeeId=a.employeeId AND b.time<a.time AND b.type='login') as logintime FROM log a WHERE a.type='logout' AND a.time BETWEEN <range start> AND <range end> AND employeeId=1 /* optional */ ) ilv GROUP BY ilv.employeeId


  1. Brug af skråstreg efter mysql_real_escape_string

  2. Polymorfi i SQL-databasetabeller?

  3. Hvordan kan jeg ændre store og små bogstaver i databasenavnet i MySQL?

  4. Hvordan kan jeg gå gennem alle rækker i en tabel? (MySQL)