|
|
|
|
|
для: Trivium
(25.10.2010 в 14:25)
| | А из FROM получается нельзя делать выборки? | |
|
|
|
|
|
|
|
для: Valick
(25.10.2010 в 17:12)
| | Так сортирует только последнюю десятку, но не 50 записей... | |
|
|
|
|
|
|
|
для: Trivium
(25.10.2010 в 17:08)
| | а вот так?
SELECT t.id FROM (SELECT id FROM tbl ORDER BY id DESC LIMIT 50) AS t ORDER BY RAND() LIMIT 10
|
| |
|
|
|
|
|
|
|
для: Trivium
(25.10.2010 в 17:03)
| | вот так кстати работает
SELECT id FROM tbl WHERE id IN
(SELECT id FROM tbl ORDER BY id DESC)
ORDER BY RAND() LIMIT 10
|
Таки IN не поддерживает лимиты... | |
|
|
|
|
|
|
|
для: Trivium
(25.10.2010 в 17:03)
| | алиасы :)
заставьте работать Ваш первый вариант, он как ни крути лучше) | |
|
|
|
|
|
|
|
для: Лена
(25.10.2010 в 16:48)
| | А что за t и t2? | |
|
|
|
|
|
|
|
для: Лена
(25.10.2010 в 16:49)
| | тут как бы... не так
в первом случае только сортировка
во втором случае сортировка + поиск
__
поставте себя на место MySQL :) | |
|
|
|
|
|
|
|
для: Valick
(25.10.2010 в 16:39)
| | чем лучше? Тут как бы от перемены слагаемых... | |
|
|
|
|
|
|
|
для: Trivium
(25.10.2010 в 16:41)
| | Подзапросы точно можно. LIMIT , видимо, нельзя.
У меня тут еще один вариант возник. А если попробовать вот так:
SELECT id FROM tbl t
JOIN (SELECT id FROM tbl ORDER BY id DESC LIMIT 50) t2 ON t.id = t2.id
ORDER BY RAND() LIMIT 10
|
| |
|
|
|
|
|
|
|
для: Лена
(25.10.2010 в 16:34)
| | 5.1.51
все лимиты работают, скорее в IN нельзя писать подзапросы | |
|
|
|
|