У меня есть такая таблица:
id , m_id , group_id
1 , a , 0
1 , b , 0
1 , c , 1
1 , d , 1
2 , e , 0
2 , f , 0
2 , g , 0
2 , h , 1
2 , i , 1
Для каждого id
я бы хотел получить m_id
, к которому они относятся, с максимальным числом m_id
.Если есть ничья, я просто возьму случайную группу из m_id
.Следовательно, ожидаемый результат будет выглядеть следующим образом:
id , m_id
1 , a
1 , b
2 , e
2 , f
2 , g
Обратите внимание: число от group_id
является только индикатором идентификации группы под каждым id
.то есть group_id =
0 не означает одно и то же между id=1
и id=2
.
Моя первоначальная идея - получить max(group_id) group by (id,m_id)
и вернуть id,m_id
, который имеет max(group_id
).Тем не менее, этот подход не поможет в ситуации связывания (id = 2
случаев).
Действительно надеюсь, что кто-то может помочь мне в этом!
Спасибо!