add batch remove batch split batch comment selection show hidden batches hide batch highlight batch
db<>fiddle
donate feedback about
By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
CREATE TABLE DATAA(id INT, room INT, type VARCHAR(20), created_at INT);
INSERT INTO DATAA VALUES(8214, 83, 'msg', 1571726466),
(8213, 83, 'msg', 1571724983),
(8212, 83, 'ad', 1571724982),
(8211, 83, 'msg', 1571724978),
(8210, 83, 'msg', 1570861659),
(8209, 83, 'msg', 1570861656),
(8208, 83, 'msg', 1570861650),
(8207, 83, 'ad', 1570861643);
SELECT * FROM DATAA
id room type created_at
8214 83 msg 1571726466
8213 83 msg 1571724983
8212 83 ad 1571724982
8211 83 msg 1571724978
8210 83 msg 1570861659
8209 83 msg 1570861656
8208 83 msg 1570861650
8207 83 ad 1570861643
SELECT MAX(T1.id), T1.room, type, MAX(created_at), COUNT(*) count_msg
FROM DATAA T1
JOIN (SELECT MAX(id) id, room
FROM DATAA
WHERE type = 'ad'
GROUP BY room) T2 ON T1.id > T2.id AND T1.room = T2.room
GROUP BY room, type
MAX(T1.id) room type MAX(created_at) count_msg
8214 83 msg 1571726466 2