У меня есть таблица, в которой хранятся хиты страниц в веб-приложении, где хранится
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, и суммировать для всех этих страниц.
(Для приведенных выше примеров у меня будет счет 2 для info.html и 1 для faq.html.)
Но что я хотел бы знать, так это: есть ли способ объединить эти два запроса в один оператор SQL - или для этого мне нужно пройти по маршруту хранимой процедуры?
Я рассмотрел использование объединения, но не могу понять, применимо ли это в этом сценарии.
PS - я знаю, что могу использовать подобные Google Analytics в своем приложении, чтобы предоставить мне эту информацию, но а) это мобильное веб-приложение, поэтому оно не очень подходит для стандартных инструментов аналитики, и б) я просто интересно узнать, можно ли это сделать в SQL.