![]() |
|
Модераторы: skyboy |
![]()
|
|
| animegirl |
|
||||
![]() Незнайка на Марсе ![]() ![]() Профиль Группа: Участник Сообщений: 326 Регистрация: 24.7.2011 Репутация: нет Всего: нет |
Таблица:
Запрос:
Цель получить последние послание из чата двух юзеров, все сообщения не нужны. Объединила по fid,tid, выходит две строки, но это не страшно в PHP отсеяла лишнее, проблема в сортировки, не знаю, почему, но запрос походу сначала берёт ПЕРВОЕ значение каждой группы, а потом сортирует результат по времени уже выдернутого, а надо наоборот, чтоб выдёргивал последние, сортируя по группам. -------------------- Скажи миру - НЯ! |
||||
|
|||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
Он берет ЛЮБОЕ значение каждой группы. rtfm http://www.sql.ru/forum/actualthread.aspx?tid=687908 Добавлено через 6 минут и 47 секунд А зачем вам вообще группировка?
Это сообщение отредактировал(а) Zloxa - 14.2.2012, 15:50 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| animegirl |
|
|||
![]() Незнайка на Марсе ![]() ![]() Профиль Группа: Участник Сообщений: 326 Регистрация: 24.7.2011 Репутация: нет Всего: нет |
Мне надо получить только последние сообщение, сообщения маркируются в столбиках от кого и кому. А какие способы вы бы предложили?
-------------------- Скажи миру - НЯ! |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 1 Всего: 130 |
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
Я думаю - не особо согрешу против истыны, если заявлю, что это самый хитовый вопрос в датабазных темах на форуме. А какие способы из предложенных мною вы уже рассмотрели? -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| animegirl |
|
|||
![]() Незнайка на Марсе ![]() ![]() Профиль Группа: Участник Сообщений: 326 Регистрация: 24.7.2011 Репутация: нет Всего: нет |
Я пыталась всё в одну выборку уместить. Изучала ваш мануал по сылке, заинтересовал вот такой вот запрос, только не могу до конца понять принцип его дейстия, можите объяснить если не сложно?
-------------------- Скажи миру - НЯ! |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 1 Всего: 130 |
Да запрос-то несложный по сути. Ну, если вникнуть. Функции непонятны, что ли? -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| animegirl |
|
|||
![]() Незнайка на Марсе ![]() ![]() Профиль Группа: Участник Сообщений: 326 Регистрация: 24.7.2011 Репутация: нет Всего: нет |
Да не могу понять, что там внутри происходит -------------------- Скажи миру - НЯ! |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 1 Всего: 130 |
Там же пишут:
Вот ещё ФАК по функциям SQL. Это сообщение отредактировал(а) Данкинг - 15.2.2012, 01:31 -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 1 Всего: 130 |
<...>
Это сообщение отредактировал(а) Данкинг - 15.2.2012, 01:30 -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
-------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| animegirl |
|
|||
![]() Незнайка на Марсе ![]() ![]() Профиль Группа: Участник Сообщений: 326 Регистрация: 24.7.2011 Репутация: нет Всего: нет |
Данкинг, Я не могу понять, зачем их соединять и разъединять? Почему обычного MAX не хватило?
-------------------- Скажи миру - НЯ! |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 1 Всего: 130 |
Так надо смотреть, что именно там требуется по заданию.
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| animegirl |
|
|||
![]() Незнайка на Марсе ![]() ![]() Профиль Группа: Участник Сообщений: 326 Регистрация: 24.7.2011 Репутация: нет Всего: нет |
Вот такой запрос, вроде как решил мою проблему:
Насколько это так, буду тестировать. -------------------- Скажи миру - НЯ! |
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
Это вам лишь кажется. То, что MySql допускает использование вывода не группируемых полей - противоестественное явление, большинство sql движков запрещает подобное. MySQL допускает, отмазываясь оптимизацией. Результат такого запроса оказывается недетерменирован. Отказ от обязательств четко прописан в документации.
Т.е. производитель не гарантирует, что на одном и том же наборе данных вы будете иметь в результате группировки одинаковый результат всегда, при любых обстоятельствах. Детерменированность может быть получена только в том случае, если для каждой группы, все прочие поля оказываются всегда одинаковыми. То, что не запрещена сортировка внутри подзапроса тоже, наверное "оптимизация". Оптимизатор, наверное просто не догадываетя ее оптимизировать. Потому и создается видимость, что это работает. Обещания, что сортировка внутри подзапроса таки будет выполняться, полагаю, вы нигде в документации не найдете. Это сообщение отредактировал(а) Zloxa - 18.2.2012, 16:05 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Составление SQL-запросов | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |