|
|
|
|
|
для: Trianon
(03.04.2006 в 14:06)
| | Ладно, спасибо за помощь!
Буду думать дальше, скорей всего прийдется воспользоваться 2-мя запросами. | |
|
|
|
|
|
|
|
для: Artemy
(03.04.2006 в 13:55)
| | Совсем без вложенных обойтись не выйдет.
SELECT .. FROM(SELECT ...) as T всяко понадобится. | |
|
|
|
|
|
|
|
для: Trianon
(03.04.2006 в 13:52)
| | Можно, но не желательно! Там и так за время загрузки страницы идет около 10 запросов. | |
|
|
|
|
|
|
|
для: Artemy
(03.04.2006 в 13:50)
| | А два запроса подряд сделать тоже нельзя? | |
|
|
|
|
|
|
|
для: Trianon
(03.04.2006 в 13:45)
| | Прощу прощения, забыл сказать. Вложенные запросы не работают.
Иначе я бы не спрашивал! | |
|
|
|
|
|
|
|
для: Artemy
(03.04.2006 в 13:36)
| | Что-то такое:
SELECT *
FROM tab
WHERE id != $id AND abs(rating-$rating) = (
SELECT min(abs(rating-$rating))
FROM tab
WHERE NOT id = $id
) ORDER BY id
|
Можно то же самое на LEFT JOIN написать, и возможно даже обойтись без вложенных в условие WHERE SELECTов, но запрос будет выглядеть устрашающе. | |
|
|
|
|
|
|
|
для: Trianon
(03.04.2006 в 13:31)
| | Ой, сорри, не обратил внимания! Нужно выбрать Олега и Юру!
Т.е. упорядочивать сначала по рейтингу, а потом по ИД. | |
|
|
|
|
|
|
|
для: Loki
(03.04.2006 в 13:30)
| | Не рабатает!
Ошибка №1221
Wrong usage of UNION and ORDER BY | |
|
|
|
|
|
|
|
для: Artemy
(03.04.2006 в 13:25)
| | Не смотря на то, что и у Олега и у Петра рейтинг отличается от Ваниного больше чем у Юры и Вовы? Т.е. порядок по рейтингу несущественен? | |
|
|
|
|
|
|
|
для: Artemy
(03.04.2006 в 13:25)
| | Лобовой вариант такой:
SELECT * FROM table WHERE active='1' AND rating<'5' ORDER BY rating DESC LIMIT 1
UNION
SELECT * FROM table WHERE active='1' AND rating>'5' ORDER BY rating LIMIT 1
|
| |
|
|
|
|