我用过这样的东西
CREATE TABLE `AxsLog` (
`id` integer NOT NULL UNIQUE,
`Logon` text NOT NULL DEFAULT current_timestamp,
`Logoff` text NOT NULL DEFAULT current_timestamp,
`Duration` text NOT NULL DEFAULT 0,
`SysDat` text NOT NULL DEFAULT current_timestamp,
PRIMARY KEY(`id`) );
您可以轻松地为用户表中的每一行添加一个 FK 列。
保留每个条目的登录 ID,然后在注销时更新该行
UPDATE AxsLog
Set Duration= (SELECT sum( strftime('%s', logoff) - strftime('%s', logon) )
/60 FROM AxsLog WHERE id= 1 )
WHERE id= 1 ;
要构建报告,请使用类似的东西。此查询仅给出每月的总数。
select total(Duration)
FROM AxsLog where substr(sysdat,6,2) = 'month'