代码之家  ›  专栏  ›  技术社区  ›  vitaly-t

在Postgres选择中跳过列重复

  •  0
  • vitaly-t  · 技术社区  · 1 年前

    我们怎么能 SELECT 而在Postgres中跳过列重复?

    这是我的桌子 decisions 在下面

    身份证件 贸易
    1. 购买
    2. 购买
    3. 购买
    4.
    5.
    6. 购买

    我希望得到以下 选择 后果

    身份证件 贸易
    1. 购买
    4.
    6. 购买

    即所有记录,重复跳过 trade 价值观

    请不要将其与唯一选择混淆。

    0 回复  |  直到 1 年前
        1
  •  3
  •   Frank Heikens    12 月前

    LAG可以用于此,其中一个 window functions :

    WITH stats AS (
      SELECT id
           , trade
           , LAG(trade) OVER (ORDER BY id) AS prev_trade
      FROM decisions)
    SELECT id, trade
    FROM stats
    WHERE   prev_trade <> trade
    OR      prev_trade IS NULL;