我在我的网络系统中记录错误,人们可以从任何地方登录,例如下载我共享的内容;家庭照片,文件 ++。
这是一个矫枉过正的系统,但作为开发人员,我认为这很有趣 :D
在我的错误表中,我具有以下结构: DataTime Userid(int) IP(varchar) ErrorMessage(text)
在我的 persontable 中,我有以下结构: Id(int) Firstname(varchar) Lastname(varchar)
我想根据不同的错误计算错误的数量或错误......但我认为我做错了,因为同一个用户可以有多个 IP,而一个 IP 可以有多个用户。SQL如下:
SELECT TO_CHAR(DateTime, 'DD') DAY,
TO_CHAR(DateTime, 'MM') MONTH,
log.ErrorMessage,
CONCAT(CONCAT(person.lastname, ', '), person.firstname),
log.IP,
count(*) AS "COUNT"
FROM errorlog log
FULL JOIN person person
ON log.Userid = person.Id
WHERE log.DateTime BETWEEN foo
AND foo2
GROUP BY TO_CHAR(DateTime, 'MM'),
TO_CHAR(DateTime, 'DD'),
person.Lastname,
person.Firstname,
log.IP,
log.errormessage
ORDER BY MONTH ASC,
DAY ASC;
我认为我的 sql 可能会在不同的 IP 上对“离开”同一个人进行分组。