这是我的架构:
create table events(
event_type integer not null,
value integer not null,
time timestamp not null,
unique (event_type ,time)
);
insert into events values
(2, 5, '2015-05-09 12:42:00'),
(4, -42, '2015-05-09 13:19:57'),
(2, 2, '2015-05-09 14:48:39'),
(2, 7, '2015-05-09 13:54:39'),
(3, 16, '2015-05-09 13:19:57'),
(3, 20, '2015-05-09 15:01:09')
Run Code Online (Sandbox Code Playgroud)
我想显示所有event_type已多次注册的记录。如您在模式中所看到的,event_type 2 and 3它发生了不止一次。以下是我使用的查询,该查询仅选择一个记录event_type 2 and 3:
select event_type, value, time from events
group by event_type
having count(event_type) > 1;
Run Code Online (Sandbox Code Playgroud)
我想查看显示带有的所有记录的查询event_type 2 and 3。在此先感谢您提供的所有帮助。
小智 5
select e.event_type, e.value, e.time
from events e
join ( select event_type
from events
group by event_type
having count(*) > 1 ) b
on e.event_type = b.event_type;
Run Code Online (Sandbox Code Playgroud)
对我来说,这返回:
2|5|2015-05-09 12:42:00
2|7|2015-05-09 13:54:39
2|2|2015-05-09 14:48:39
3|16|2015-05-09 13:19:57
3|20|2015-05-09 15:01:09
Run Code Online (Sandbox Code Playgroud)
参考: 显示所有重复的行