Помогите с запросом

Sveta

Guest
Помогите с запросом

MySql 3

Есть одна таблица:
chat:
id_session | message | timer |admin | color

Значения id_session повторяются (п-р: 1,1,2,1,2,3,3). Нужно выбрать по каждому поля с максимальным временем (timer), т.е. должно получиться 3 строчки для этого примера.

Вот написала, не работает :(
select chat.id_session, max(chat.timer) as max_timer, firts(chat.message) as first_message, first(chat.admin) as first_admin, first(chat.color) as first_color
from chat
group by chat.id_session

... а в Access работает:confused:
 

Kucovsky

Новичок
Оператор FIRST не используется в SELECT MYSQL потому и не работает:(

Попробуйте два запроса

SELECT id_session as sesId, max(timer) as maxTime FROM chat GROUP BY id_session


И затем для каждого найденного

SELECT *FROM chat where id_session=sesId AND timer=maxTime
 

Falc

Новичок
Попробуй так:

select chat.id_session, max(chat.timer) as max_timer, chat.message as first_message, chat.admin as first_admin, chat.color as first_color
from chat
group by chat.id_session
 

Sveta

Guest
Спасибо вам всем большое. Все здорово работает.
 

chira

Новичок
Falc
здесь нужно использовать вариант Kucovsk - ого
в твоем случае значения полей которые не присутствуют в GROUP BY (chat.message as first_message, chat.admin as first_admin, chat.color) будут случайными, какие сервер найдет первыми такие и подставит.

то, что у Светы сработало один раз , в другой раз будет сюрпризом.
 
Сверху