С нами с 14.07.04
Сообщения: 221
Рейтинг: 59
|
Добавлено: 24/09/05 в 21:29 |
Есть строки с полями id (primary key), _group, value. Нужно найти id строк с максимальными значениями поля value в каждой группе group. Запрос типа SELECT id, MAX(value) FROM mytable GROUP BY _group требуемого результата не дает, поскольку id возвращается не строки, содержащей максимальное значение value, а первой строки в группе group.
Извращения типа SELECT id, MAX(value) as mv FROM mytable GROUP BY _group HAVING value=mv не работают.
Можно как то все решить одним запросом. мускуль 3.23 таблицы типа MyISAM
|
|
|
|
Genuine Quality
С нами с 28.08.05
Сообщения: 652
Рейтинг: 910
|
Добавлено: 24/09/05 в 22:13 |
а если так:
SELECT id, MAX(value) FROM mytable GROUP BY _group ORDER BY value LIMIT 1
те. в группах сортируем по убыванию. а написанная тобой выше часть запроса выберет первую строку из групы
зы: а group by вообще работает?
|
|
|
|
С нами с 14.07.04
Сообщения: 221
Рейтинг: 59
|
Добавлено: 24/09/05 в 22:24 |
Нет, так тоже не выведется нужный id.
Только что методом тыка сам нашел ответ:
SELECT id FROM mytable GROUP BY referer_id ORDER BY value DESC
Спасибо, вопрос снят.
|
|
|
|
Текстовая реклама в форме ответа Заголовок и до четырех строчек текста Длина текста до 350 символов Купить рекламу в этом месте! |