首页 > 解决方案 > 选择具有相同列值的唯一行 Postgresql

问题描述

我想从具有用户列的表中选择具有唯一值的行,并且在同一用户上具有重复行的 a、b 和 c 列。PS:具有不同用户和相同值的行 a、b 和 c 应该保留。但是应该忽略具有相同用户和相同值的行。改造前的例子:

+-------+-----------------+--------+------+
| User  |        a        |   b    |  c   |
+-------+-----------------+--------+------+
| user1 | False           | active | 10.0 |
| user1 | False           | active | 10.0 |
| user2 | False           | active | 10.0 |
| user2 | True            | active | 10.0 |
+-------+-----------------+--------+------+

改造后:

+-------+-------+--------+------+
| User  |   a   |   b    |  c   |
+-------+-------+--------+------+
| user1 | False | active | 10.0 |
| user2 | False | active | 10.0 |
| user2 | True  | active | 10.0 |
+-------+-------+--------+------+

所以对于一个唯一的用户,我们不应该有重复的行。

标签: postgresql

解决方案


你只是想要distinct吗?

select distinct user, a, b, c from mytable

推荐阅读