如何仅显示我的对象的唯一实例?

时间:2011-07-20 10:12:36

标签: java

我有一个存储闹钟的表。我的查询是我必须显示表中的所有警报,但重复的警报应该只显示一次。例如

table1
-------
alarms
------
A
A
A  
A
B
B
B
C
D
E
------
上表中的

表示A,B,C,D,E是报警。重复报警只应显示一次,例如报警A重复四次但必须只显示一次。所需的输出是

A
B
C
D
E

6 个答案:

答案 0 :(得分:2)

您将获得明确的警报

从yourtablename

中选择DISTINCT警报

答案 1 :(得分:0)

在这种情况下,我真的不知道你的意思是什么,但你要找的数据结构是一个Set。如果将“A”添加到已包含“A”的集合中,则不会发生任何事情。

答案 2 :(得分:0)

select distinct alarms from table1

答案 3 :(得分:0)

这不应该被标记为SQL而不是java吗?

无论如何,您可以通过在语句中添加distinct来从表中获取结果:

select distinct alarms from table1;

答案 4 :(得分:0)

您可以使用SQL查询中的distinct关键字或者将结果放入Java中的LinkedHashSet,以消除重复并保留插入顺序。

答案 5 :(得分:0)

如果表预计会增长到任何更大的大小,则避免使用distinct。它在大多数DBMS中具有可怕的性能(糟糕的索引使用几乎总是默认为全表扫描)。在这种情况下,分组更好:

select * from table where column in (select column from table group by column)

可以正确优化所提供的列的索引。