От пыхи не убежишь

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Мы в твиттере!
Мы вконтакте!
Мы на яндексе!

Краснодарское время: 26 Май, 2012, 12:17:50

Страниц: [1]
Печать
Автор Тема: Помогите правильно составить запрос  (Прочитано 140 раз)
0 Пользователей и 1 Гость смотрят эту тему.
at0m1x    ↓ 
31 Январь, 2012, 10:31:58
НЕ ХУЕТА! ХУЕТА!

Карма: 0
Сообщений: 5
Сила слова: 0

Всем привет! В mysql базе данных моего сайта есть таблица сообщений - переписка пользователей друг с другом. Таблица имеет следующие поля:
 
SQL

message_id | sender_id | recepient_id | subject | message | time
 

В этой таблице содержится 4000000 записей. Мне необходимо из нее выбрать последние сообщения всех пользователей. Я пробовал делать выборку таким запросом:
 
SQL

SELECT `sender_id`, `subject`, `message`, `time`
FROM `messages`
GROUP BY `sender_id`
ORDER BY `time` DESC
 

Запрос ошибок не выдает, выбирает по одному сообщению для каждого пользователя, но при проверке оказалось что он выбирает не последние сообщения. Подскажите в чем может быть ошибка и как правильно составить такой запрос.
Записан
artoodetoo    ↓ 
31 Январь, 2012, 12:06:40 , спустя 1 час 34 минуты 42 секунды
НЕ ХУЕТА! ХУЕТА!

с особым цинизмом
Группа: в ухо

Карма: 124
Сообщений: 3805
Сила слова: 3.26

at0m1x, в первой строке сделай max(time)
Спустя 1 минуту 59 секунд добавил
и имей в виду, что эту mysql позволяет во фразе select писать много полей. это сбивает с толку таких школяров как ты.
стандарт указывает что при group by в select могут быть только группируемые поля + агрегатные функции от других полей. т.е. max(time) полюбому!!!
Записан
Flare    ↓ 
31 Январь, 2012, 04:07:09 , спустя 4 часа 29 секунд
НЕ ХУЕТА! ХУЕТА!


Карма: 9
Сообщений: 253
Сила слова: 3.56

4млн записей с реального проекта где их на генерировали посетители или это ты сам по добавлял?
Меня всегда интересовало чем думают, когда на большие проекты пускают духов без присмотра. такие сайты это же далеко не уровень корпоративных сайтов, визиток или интернет магазинов.
Записан

Если программист в 07.00 утpа на pаботе, значит он там ночевал...
phpdude    ↓ 
31 Январь, 2012, 04:15:57 , спустя 8 минут 48 секунд
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 345
Сообщений: 20790
Сила слова: 1.66

Меня всегда интересовало чем думают, когда на большие проекты пускают духов без присмотра.
это да... тоже задаюсь вопросом
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
Страниц: [1]
Печать
 

Перейти в: