获取所有唯一记录及其相应列

时间:2013-11-22 01:23:49

标签: mysql sql postgresql

是否可以在数据库中获取所有唯一记录及其对应的列?

类似的东西:

SELECT DISTINCT *
FROM table_name
?where?

我希望获得所有唯一记录及其相应的列。

我试过了:

SELECT distinct(column_name), other_column
FROM table_name
?where?

我仍然会得到重复的记录。

我试过了:

SELECT distinct(column_name)
    FROM table_name
    ?where?

我获得了独特的记录,但列不完整。如何获得所有独特的记录?

1 个答案:

答案 0 :(得分:1)

你在找这样的东西吗?

SELECT t.*
  FROM
(
  SELECT MIN(pk_id) pk_id
    FROM table_name
   GROUP BY fk_id
) q JOIN table_name t
    ON q.pk_id = t.pk_id

这是 SQLFiddle 演示

在Postgres中,您可以使用DISTINCT ON

SELECT DISTINCT ON (fk_id) t.*
  FROM table_name t
 ORDER BY fk_id

这是 SQLFiddle 演示