![]() |
|
Модераторы: skyboy |
![]()
|
|
| promex |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 26.7.2012 Репутация: нет Всего: нет |
задача найти соседние строки (+/- 3) для определнного ID, но таблицу перед этим необходимо отсортировать, а не получить из базы в состоянии поставки, по другому параметру (не ID), например, "param_1"
т.е. задача как вот здесь http://forum.vingrad.ru/index.php?showtopic=69960&hl= и как найти 3 сосдених строки вверх и вних понятно, но как перед этим, в этом же запросе или в другом, отсортировать таблицу по параметру "param_1", чтобы выбирать соседние значения для "param_1" из уже отсортированной по этому параметру таблицы в SQL не силен, поэтому возможно вопрос и глупый) Это сообщение отредактировал(а) promex - 26.7.2012, 08:13 |
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 33 Всего: 161 |
Это сообщение отредактировал(а) Zloxa - 26.7.2012, 08:24 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| promex |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 26.7.2012 Репутация: нет Всего: нет |
может кому в будущем пригодиться, в php mysql_query надо ставить собочки для каждого SELECT'а между UNION
спасибо за помощь) Это сообщение отредактировал(а) promex - 26.7.2012, 09:13 |
|||
|
||||
| promex |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 26.7.2012 Репутация: нет Всего: нет |
еще вопрос возник, как в этом же запросе SQL перемешать в случайном порядке полученные результаты ?
Это сообщение отредактировал(а) promex - 26.7.2012, 09:13 |
|||
|
||||
| Zloxa |
|
||||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 33 Всего: 161 |
У вас так может задвоиться запись, относительно которой вы ищите. Оставьте в одном месте строгое неравенство, а там где неравенство не строгое поставьте limit 4 ибо в результате, я так понял, надо получить семь записей. Одна исходная, три ниже, три выше.
Это сообщение отредактировал(а) Zloxa - 26.7.2012, 09:26 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
||||
|
|||||
| promex |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 26.7.2012 Репутация: нет Всего: нет |
это я отсек условием "AND id <> $id" просто не написал его в цитате. бывает что param_1 точно такой же как у ID, от которого танцуем, и его надо отобразить в первую очередь. это я знаю, а как его прицепить к искомому запросу с UNION ALL ? |
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 33 Всего: 161 |
скопипастить искомый запрос в то место, где указано слово "запрос".
Тогда мы все равно можем получить дублирование записи. Нестрогое неравенство надо оставить лишь в одном подзапросе -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| promex |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 26.7.2012 Репутация: нет Всего: нет |
||||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 33 Всего: 161 |
Определенно, если бы я считал что юнион лучше, я бы его и предложил. Здесь не нужен юнион. Если два запроса захватят одну и ту же запись, мы все равно получим в результате меньше строк чем нам требуется. Они просто не будут дублироваться. Если запросы не будут захватывать одну и ту же запись, юнион, требующий дополнительной сортировки - не нужен. Это сообщение отредактировал(а) Zloxa - 26.7.2012, 10:29 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MySQL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |