我有一个存储闹钟的表。我的查询是我必须显示表中的所有警报,但重复的警报应该只显示一次。例如
table1
-------
alarms
------
A
A
A
A
B
B
B
C
D
E
------
上表中的表示A,B,C,D,E是报警。重复报警只应显示一次,例如报警A重复四次但必须只显示一次。所需的输出是
A
B
C
D
E
答案 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)
可以正确优化所提供的列的索引。