1. ginec - 13 Января, 2011 - 19:14:48 - перейти к сообщению
Здравствуйте! Мне необходимо вывести записи в хаотичном виде. Т.е. каждый раз порядок разный. Как это можно сделать? Может есть какие-то команды в SQL?
2. Мелкий - 13 Января, 2011 - 19:17:42 - перейти к сообщению
.. order by rand()
при большом количестве записей в таблице будет жрать много ресурсов, там погуглите оптимизацию.
при большом количестве записей в таблице будет жрать много ресурсов, там погуглите оптимизацию.
3. ginec - 13 Января, 2011 - 19:44:32 - перейти к сообщению
Мелкий спасибо ! указали куда копать! Погуглил. Записей будет не более 300-500. Думаю тут это не так страшно.
4. Champion - 13 Января, 2011 - 20:08:25 - перейти к сообщению
SELECT * FROM tbl WHERE id > rand(0, (select max(id) from tbl)) LIMIT 1
UNION ALL
SELECT * FROM tbl WHERE id > rand(0, (select max(id) from tbl)) LIMIT 1
UNION ALL
SELECT * FROM tbl WHERE id > rand(0, (select max(id) from tbl)) LIMIT 1
UNION ALL
SELECT * FROM tbl WHERE id > rand(0, (select max(id) from tbl)) LIMIT 1
...
А лучше хранимую процедуру, чтоб max(id) несколько раз не выбирать
UNION ALL
SELECT * FROM tbl WHERE id > rand(0, (select max(id) from tbl)) LIMIT 1
UNION ALL
SELECT * FROM tbl WHERE id > rand(0, (select max(id) from tbl)) LIMIT 1
UNION ALL
SELECT * FROM tbl WHERE id > rand(0, (select max(id) from tbl)) LIMIT 1
...
А лучше хранимую процедуру, чтоб max(id) несколько раз не выбирать
5. ginec - 17 Января, 2011 - 15:53:38 - перейти к сообщению
У меня на сайте пагинация и поэтому использую LIMIT.
Если сделать так, то на страницах может попадаться запись с предыдущей страницы. Как это исправить? Или хотя бы чтобы 10 записей отображались постоянно на одной и той же странице, но сортировались неупорядоченно? Но желательно конечно, чтобы запись могла быть на любой странице один раз. Надеюсь понятно объяснил
Если сделать так, то на страницах может попадаться запись с предыдущей страницы. Как это исправить? Или хотя бы чтобы 10 записей отображались постоянно на одной и той же странице, но сортировались неупорядоченно? Но желательно конечно, чтобы запись могла быть на любой странице один раз. Надеюсь понятно объяснил