首页 > 解决方案 > 我需要将 SQL 中的所有活动分配给一个 ID,但目前每个活动都有三个 ID

问题描述

假设我们有views一个表,其中每个活动都有三个用户 ID。

我需要将活动分配给一个 ID。

例子:

ID1 ID2 ID3
-----------
1   A    
1   A
1   B    I
2   B    I
3   C    I

在第三个活动期间,用户注册了帐户,现在我知道所有活动都涉及一个用户。ID1 和 ID2 是不确定的 cookie ID。ID3仅在用户注册和登录时使用。用户不必注册和登录。用户可以在没有帐户的情况下使用该网站 - 但我需要有关整个用户活动的信息。

  1. 如何计算所有视图并分配给一个 ID?在上面的示例中,我们可以看到一个用户生成了 5 个视图。
  2. 是否可以加入另一个具有相同三个 ID 的表?

标签: sqlpostgresql

解决方案


我试着玩了一下,但无法达到你想要的(时间有限)

我认为您可以使用两种解决方案:

  • 窗口函数SELECT gen_random_uuid(), count(id1) over (partition by ...)
  • 联盟

推荐阅读