Avenus
Under Glory Yield
Как получить ID строки с минимальным значением столбца при использовании GROUP BY?
Как известно при использовании GROUP BY в запросах ORDER BY
для группируемых значений не работает :-(
Т.е. если я выбираю:
То из множества строк для одинаковых ID будет выбираться F1 для первой записи:
U|ID|F1
1 |1 | 3 (первая добавленная запись)
2 |1 | 1
3 |1 | 2
Приведенный запрос выдаст: U=1, F1=3.
Можно было бы просто получить это значение по min(F1), но это при самой простой задаче.
А нужно, к примеру, еще и count полей сделать и получить при этом U с минимальным F1.
Тогда вообще ппц...
Я пытаюсь обойти это дело так:
Получаю ошибку:
#1054 - Unknown column 'F1_min' in 'on clause'
Кто подскажет, как обойти группировку в такой задаче?
Как известно при использовании GROUP BY в запросах ORDER BY
для группируемых значений не работает :-(
Т.е. если я выбираю:
PHP:
select U,F1 from T1 group by ID order by F1
U|ID|F1
1 |1 | 3 (первая добавленная запись)
2 |1 | 1
3 |1 | 2
Приведенный запрос выдаст: U=1, F1=3.
Можно было бы просто получить это значение по min(F1), но это при самой простой задаче.
А нужно, к примеру, еще и count полей сделать и получить при этом U с минимальным F1.
Тогда вообще ппц...
Я пытаюсь обойти это дело так:
PHP:
select min(T1.F1) as F1_min,count(T1.U) as nums,temp.U from T1
left join T1 as temp on temp.F1=F1_min group by T1.ID
#1054 - Unknown column 'F1_min' in 'on clause'
Кто подскажет, как обойти группировку в такой задаче?