专家,我有一个包含多列的单个表。 col1,col2,col3,col4,col5,col6
我需要select distinct (col4)
,但我的输出中还需要所有其他列。
如果我跑,这(select distinct(col4 ) from table1
),那么我的输出只得到col4。
我可以知道,如何在db2上执行此操作?
谢谢
答案 0 :(得分:1)
我不确定你是否能够这样做。
您可以尝试在此列上运行group by。您将能够在其他列上运行一些聚合函数。
select count(col1), col4 from table1 group by (col4);
答案 1 :(得分:0)
至少在DB2中,您可以执行
SELECT
DISTINCT *
FROM
<YOUR TABLE>
这将为您提供(在这种情况下)6列的每个独特组合。
否则,您必须指定要包含的列。如果您这样做,可以使用select distinct
或group 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