By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
create table groups ( id int, grpid int , changeDate date, userid int, pct double , hobby int );
SELECT * from groups;
insert into groups(id , grpid , changeDate ,userid ,pct ,hobby ) values
(1 , 1 ,'2020-01-01', 1 , 1 , 1 ),
(2 , 1 ,'2020-01-02', 1 , 1 , 2 ),
(3 , 1 ,'2020-01-03', 1 , 1 , 1 ),
(4 , 2 ,'2020-01-01', 1 , 0.5 , 1 ),
(5 , 2 ,'2020-01-01', 1 , 0.5 , 2 ),
(6 , 2 ,'2020-01-02', 1 , 0.5 , 1 ),
(7 , 2 ,'2020-01-02', 1 , 0.5 , 3 ),
(8 , 3 ,'2020-01-01', 1 , 0.5 , 1 ),
(9 , 3 ,'2020-01-01', 1 , 0.5 , 2 ),
(10 , 3 ,'2020-01-02', 1 , 0.4 , 1 ),
(11 , 3 ,'2020-01-02', 1 , 0.6 , 2 ),
(12 , 4 ,'2020-01-01', 1 , 0.6 , 1 ),
(13 , 4 ,'2020-01-01', 1 , 0.4 , 2 ),
(14 , 4 ,'2020-01-02', 1 , 0.6 , 1 ),
(15 , 4 ,'2020-01-02', 1 , 0.4 , 2 );
SELECT * from groups;
id | grpid | changeDate | userid | pct | hobby |
---|---|---|---|---|---|
1 | 1 | 2020-01-01 | 1 | 1 | 1 |
2 | 1 | 2020-01-02 | 1 | 1 | 2 |
3 | 1 | 2020-01-03 | 1 | 1 | 1 |
4 | 2 | 2020-01-01 | 1 | 0.5 | 1 |
5 | 2 | 2020-01-01 | 1 | 0.5 | 2 |
6 | 2 | 2020-01-02 | 1 | 0.5 | 1 |
7 | 2 | 2020-01-02 | 1 | 0.5 | 3 |
8 | 3 | 2020-01-01 | 1 | 0.5 | 1 |
9 | 3 | 2020-01-01 | 1 | 0.5 | 2 |
10 | 3 | 2020-01-02 | 1 | 0.4 | 1 |
11 | 3 | 2020-01-02 | 1 | 0.6 | 2 |
12 | 4 | 2020-01-01 | 1 | 0.6 | 1 |
13 | 4 | 2020-01-01 | 1 | 0.4 | 2 |
14 | 4 | 2020-01-02 | 1 | 0.6 | 1 |
15 | 4 | 2020-01-02 | 1 | 0.4 | 2 |
SELECT DISTINCT g1.grpid
FROM `groups` g1 INNER JOIN `groups` g2
ON g1.grpid = g2.grpid
AND g1.hobby = g2.hobby
AND g1.pct = g2.pct
AND g1.userid = g2.userid
WHERE g1.id <> g2.id
grpid |
---|
1 |
2 |
4 |