![]() |
Модераторы: skyboy |
![]() ![]() ![]() |
|
Elfet |
|
||||||||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Всем привет! Прошу помощи разобраться в том как сделать следующее.
Есть таблица с сообщениями:
Нужно сгруппировать сообщения по диалогам и вывести последнее сообщение.
Я пробую делать так:
Однако получаю вместо этого
То есть первое сообщение из группы. Как получить последнее? Заранее спасибо! |
||||||||
|
|||||||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 45 Всего: 454 |
Получить ID последней в каждой группе записи (having message_date=max(message_date)) в подзапросе.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Zloxa |
|
|||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
-------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 45 Всего: 454 |
ну... да, а что?
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Нет, это не работает :(
|
|||
|
||||
Zloxa |
|
|||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
Ну дык это... Если ты не группиируешься по message_date, ты не можешь его использовать в хавинге без аггрега.... -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
|||
|
||||
Zloxa |
|
||||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
Elfet, прошу прощения, но этот вопрос уже на столько уже оскомину набил, как и вопрос "как разместить иконку где часики" в формах по делфе.
Классическое решение:
Однако такой запрос даст более одного результата, если окажется более одного поста на одну дату, обычно так не нужно, нужен обычно один пост, обычно по наибольшему pk. Чтобы добиться такого, поищите по форму по клюевому слову "бабушкин метод". Для мйскл, в частности, можно попробовать еще такой трюк(при условии что message_id- PK):
Это сообщение отредактировал(а) Zloxa - 25.7.2011, 19:46 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
||||
|
|||||
Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Всё оказалось как-то уж очень сложно. Ещё мне посоветовали почитать про cross apply. Но я думаю сделаю через ещё одну дополнительную таблицу (диалоги/топики)
|
|||
|
||||
Zloxa |
|
|||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
Да, так - лучше. Совет хороший, почитать стоит. Только применительно к вашей ситуации - бесползеный. У вас другая платформа. Если хотите, посоветую почитать про keep или row_number(). Ими тоже можно получить желаемое, но не на MySQL. -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Составление SQL-запросов | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |