У меня есть вопрос SQL, который нужно решить с помощью rank или row_number (я думаю), но я не знаю как.
У меня есть таблица, показывающая поведение пользователей приложения. Пользователь может щелкнуть кнопку меню в приложении, а затем приложение покажет различные продукты (внутри представления меню). Итак, каждая строка в моей таблице - это щелчок, который пользователь делает внутри приложения.
В таблице есть столбец «меню» и столбец «продукт». Если пользователь нажимает кнопку меню, столбец «меню» принимает значение 1. Если пользователь щелкает что-либо еще, оно равно 0. Внутри меню пользователь может щелкать разные продукты, поэтому для каждого продукта, который был выбран, отображается «продукт». column 'равно 1.
Итак, я хочу знать, сколько продуктов пользователь щелкнул в представлении меню. У меня также есть дата, платформа (iOS или Android), страна, идентификатор пользователя и идентификатор сеанса. Все, что происходит за 30 минут, происходит внутри сеанса, а сеанс относится только к одному пользователю. И идентификатор пользователя, и идентификатор сеанса уникальны.
Таблица выглядит следующим образом:
Эта таблица показывает, что пользователь AAA открыл меню, а затем щелкнул 2 разных продукта, пользователь BBB открыл меню один раз за один сеанс и ничего не щелкнул, а затем открыл снова и ничего не щелкнул. Наконец, пользователь CCC щелкнул меню, а затем открыл 2 продукта в первом сеансе, а затем в другом сеансе он / она щелкнул меню и открыл один продукт.
Я хочу что-то вроде этого:
Я пробовал использовать rank и row_number, и я могу получить такой же рейтинг для строк продуктов, но не могу получить меню строка должна иметь тот же порядковый номер, что и строка товаров.
Надеюсь, вы можете мне помочь: (