db2选择不同的行,但选择所有列

时间:2014-08-12 14:40:45

标签: sql db2

专家,我有一个包含多列的单个表。 col1,col2,col3,col4,col5,col6

我需要select distinct (col4),但我的输出中还需要所有其他列。

如果我跑,这(select distinct(col4 ) from table1),那么我的输出只得到col4。

我可以知道,如何在db2上执行此操作?

谢谢

4 个答案:

答案 0 :(得分:1)

我不确定你是否能够这样做。

您可以尝试在此列上运行group by。您将能够在其他列上运行一些聚合函数。

select count(col1), col4 from table1 group by (col4);

答案 1 :(得分:0)

至少在DB2中,您可以执行

SELECT
  DISTINCT *
FROM
<YOUR TABLE>

这将为您提供(在这种情况下)6列的每个独特组合。

否则,您必须指定要包含的列。如果您这样做,可以使用select distinctgroup by

答案 2 :(得分:0)

你只是这样做......

Select * From Table1 Where col4 In (Select Distinct(col4) From Table1)

答案 3 :(得分:0)

没有一个答案对我有用,所以这里是我工作的一个。在使用col4时使用group by,同时获取其他列的最大值

select max(col1) as col1,max(col2) as col2,max(col3) as col3
  , col4
  from 
    table1
  group by col4