2017-07-26 89 views
-2

考虑下表如何获得一个不同的值时,列有不同的数据

KEY WO# Parts Name 
77  11  1  aa 
77  11  2  aa 
81  12  2  bb 
82  9  3  cc 

现在我想编写一个查询,我的报告,以便每当那里有一个重复RKEY我希望它甚至无视它尽管重复RKEY中的部件数量不同,并继续处理下一个RKEY。这是可能的

最终结果

KEY WO# Parts Name 
77  11  1  aa 
81  12  2  bb 
82  9  3  cc 
+0

使用'group by'子句。在问题中发布您的查询 – WillardSolutions

+2

[在每个GROUP BY组中选择第一行?](https://stackoverflow.com/questions/3800551/select-first-row-in-each-group-by-group) –

+0

我很抱歉...我没有意识到这不是MySQL。回答已删除! –

回答

2

这已经被问和回答字面上数百次。但是输入解决方案比找到现有答案要快。

select [KEY] 
    , [WO#] 
    , Parts 
    , Name 
from 
(
    select [KEY] 
     , [WO#] 
     , Parts 
     , Name 
     , RowNum = ROW_NUMBER() over (partition by KEY order by Parts) 
    from YourTable 
) x 
where RowNum = 1 
+0

我活着的一天,我在Sql-Server中获得了重复锤子。 –

+0

@TabAlleman不开玩笑。 –

-1

EatPeanutButter是正确的:如果“按组”命令的“关键”使用,唯一的“钥匙”的第一个实例将在最终的结果显示可以。

select * from table group by Key; 
+4

此查询不会在问题中提供所需的结果。实际上,这会导致错误。 –

相关问题