SQLite选择计数大于1的所有记录

San*_*osh 3 sqlite

这是我的架构:

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)

参考: 显示所有重复的行