Я новичок в SQL, и я хотел бы спросить о том, как выбирать записи на основе предпочтений и группировки.
+----------+----------+------+
| ENTRY_ID | ROUTE_ID | TYPE |
+----------+----------+------+
| 1 | 15 | 0 |
| 1 | 26 | 1 |
| 1 | 39 | 1 |
| 2 | 22 | 1 |
| 2 | 15 | 1 |
| 3 | 30 | 1 |
| 3 | 35 | 0 |
| 3 | 40 | 1 |
+----------+----------+------+
В приведенной выше таблице я хотел бы выбрать 1 запись для каждой ENTRY_ID
со следующим предпочтением для возвращенных ROUTE_ID
:
- IF TYPE = 0 доступно для любой из записей с одинаковым
ENTRY_ID
, возвращает минимальное значение ROUTE_ID
для всех записей сTYPE = 0
- Если для того же самого
ENTRY_ID
доступно только TYPE = 1
, вернуть минимум ROUTE_ID
Ожидаемый результат для запроса будет следующим:
+----------+----------+------+
| ENTRY_ID | ROUTE_ID | TYPE |
+----------+----------+------+
| 1 | 15 | 0 |
| 2 | 15 | 1 |
| 3 | 35 | 0 |
+----------+----------+------+
Спасибо за помощь!