我有一个SQL问题,应该使用rank或row_number(我认为)来解决,但我不知道如何解决。
我有一个表,显示应用程序用户的行为。用户可以单击应用程序中的菜单按钮,然后该应用程序显示不同的产品(在菜单视图内部)。因此,表中的每一行都是用户在应用程序内进行的单击。
表中有“菜单”列和“产品”列。如果用户单击菜单按钮,则“菜单”列的值为1。如果用户单击其他任何东西,则为0。在菜单内部,用户可以单击不同的产品,因此对于单击的每个产品,“产品”列”为1。
所以,我想知道用户在菜单视图中单击了多少产品。我也有日期,平台(iOS或Android),国家/地区,用户ID和会话ID。 30分钟内发生的所有事情都在一个会话中,并且一个会话仅与一个用户有关。用户ID和会话ID都是唯一的。
表是这样的:
此表显示,用户AAA打开了菜单,然后单击了2种不同的产品,用户BBB在一个会话中打开了菜单一次,没有单击任何东西,然后再次打开并且没有单击任何东西。最后,用户CCC单击菜单,然后在第一个会话中打开2个产品,然后在另一个会话中,他(她)单击菜单并打开一个产品。
我想要这样的东西:
我尝试使用rank和row_number,并且我可以为产品的行获得相同的等级,但是我无法使菜单行具有与产品行相同的等级号。
希望您能帮助我:(