Nếu tôi hiểu chính xác vấn đề của bạn, Bạn cần kết hợp bên trái thay vì kết hợp bên trong -
SELECT a.id, GROUP_CONCAT(b.id) AS abcd
FROM new_table a
LEFT JOIN new_table b ON a.id <> b.id
AND a.Block_ID = b.Block_ID
AND a.Block_Type = b.Block_Type
AND a.Valid = b.Valid
AND ((a.Valid_To BETWEEN b.Valid_From AND b.Valid_To)
OR (a.Valid_From BETWEEN b.Valid_From AND b.Valid_To)
OR (a.Valid_To = b.Valid_From)
OR (a.Valid_From = b.Valid_To)
)
GROUP BY a.id;