我有一个表,用于存储 Web 应用程序上的页面点击,存储
unique_row_id http_session_id page_name page_hit_timestamp
----------------------------------------------------------------
0 123456789 index.html 2010-01-20 15:00:00
1 123456789 info.html 2010-01-20 15:00:05
2 123456789 faq.html 2010-01-20 15:00:15
3 987654321 index.html 2010-01-20 16:00:00
4 987654321 faq.html 2010-01-20 16:00:05
5 987654321 info.html 2010-01-20 16:00:15
6 111111111 index.html 2010-01-20 16:01:00
7 111111111 faq.html 2010-01-20 16:01:05
8 111111111 info.html 2010-01-20 16:01:15
我想运行一个 sql 查询,它将向我显示用户最终浏览的最常见页面。
所以我最初的想法是,在我的(java)应用程序中,我可以运行一个查询,该查询将从表中选择不同的 http_session_id 值,然后对于每个不同的 http_session_id,运行另一个查询来获取具有“最新”page_hit_timestamp 的页面,和所有这些页面的总和。(对于上面的示例数据,info.html 的计数为 2,faq.html 的计数为 1。)
但是,我想知道的是:有没有办法将这两个查询组合成一个 sql 语句 - 或者我是否必须为此走存储过程路线?
我看过使用 join,但我不知道它是否适用于这种情况。
PS - 我知道我可以在我的应用程序中使用 Google Analytics 之类的工具来为我提供这些信息,但是 a)这是一个移动网络应用程序,所以不适合现成的分析工具,b)我只是好奇知道这是否可以在 SQL 中完成。