我有一个有趣的表,其中两个键组合在一起构成每一行的主键。但在一种极端情况下,我想选择所有行(但只有大约 4 列),但结果中没有特定列的任何重复项。
例如,如果我有一个包含“account_id、company_id、key、is_customer、favorite_veg”列的表,将会有很多重复的“account_id”,因为它们与“company_id”一起构成主键。
但是如果我只想要一个包含所有 account_id 的列表,同时保留其他行呢?令人困惑的是,在此示例中,不同公司 ID 之间的其他行将是静态的,因此不存在未包含信息的潜在风险。
在我看来,它类似于“SELECT DISTINCT(account_id) COLUMNS (account_id, key, is_customer, favorite_veg) FROM customers”,但这显然行不通。
最佳答案
也许 DISTINCT ON
有帮助?这给出了第一次出现不同 account_id
SELECT DISTINCT ON (account_id)
account_id,
key,
is_customer,
favorite_veg
FROM customers
关于sql - 如何选择多列,但只显示唯一/非重复的结果(基于一个特定列)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53119511/