Выборка mysql уникальных значений по 2м полям
Есть таблица с несколькими полями. id_cat и id_lay - повторяются. как выбрать все значения, но чтобы не было рядом повторяющихся. а сортировка по другому полю(это важно). например в базе
| id_cat | id_lay |
|---|---|
| 2 | 15 |
| 2 | 16 |
| 2 | 17 |
| 2 | 18 |
| 3 | 15 |
| 3 | 16 |
| 3 | 17 |
| 3 | 18 |
нужна выборка вроде
| id_cat | id_lay |
|---|---|
| 2 | 15 |
| 3 | 16 |
| 2 | 17 |
| 3 | 18 |
| 2 | 16 |
| 3 | 15 |
SELECT *
FROM `tbl`
WHERE `lay_id` IN ( SELECT `lay_id`
FROM `tbl`
GROUP BY `lay_id`
HAVING count(*)>1 )
но тут получается уникальные только для lay_id. есди добавить еще один подзапрос для cat_id то все равно не будет нужного результата. помогите.