我现在正试着围绕着一些我正试图构建的sql进行思考。我有两张这样的表:
Audit Table
id | user | action | date
---+------+--------+--------------------
1 | dave | LOGIN | 2020-01-01 00:00:00
2 | dave | VIEW | 2020-01-01 00:01:00
3 | dave | LOGIN | 2020-01-02 00:00:00
etc..
和
Page Analytics Table
id | user | page | access date
-----------------------------------------
1 | dave | home | 2020-01-01 00:00:30
2 | dave | account | 2020-01-01 00:00:45
3 | dave | about | 2020-01-02 00:00:30
我试图捕获每个用户每天登录然后访问特定页面的次数。
我并不期待一个特别的解决办法,但可能有一些我错过了。我想我最好建立一个临时表,其中包含以下内容(从审计表收集):
id | user | login_start | login_end
-----------------------------------------------------
1 | dave | 2020-01-01 00:00:00 | 2020-01-02 00:00:00
2 | dave | 2020-01-02 00:00:00 | 2020-01-02 00:00:30
然后使用这个表,加入页面分析,计算这几天之间的访问量,然后检查这个计数是否大于0。
我只是想在创建这个中间表的过程中绞尽脑汁。我走错路了吗?有更好的解决方案吗?
提前谢谢。。
1条答案
按热度按时间qyuhtwio1#
您可以从分析表中获取页数,非常简单,如下所示:
如果还希望在摘要中包含登录名,可以使用union all来完成此操作(https://www.db-fiddle.com/f/64yhcewc1kjxfyejjqdazv/2)
结果:
不过,我在猜测您的登录/注销要求。