![]() |
|
![]() |
||||||
![]() |
Для выборки случайного ряда из таблицы можно воспользоваться запросом:
SELECT * FROM table ORDER BY RAND() LIMIT 1;
Однако для лучшей производительности при большом количестве рядов и наличии первичного индекса по полю id который идет БЕЗ ПРОПУСКОВ, в целях оптимизации производительности лучше воспользоваться двумя выборками с генерацией случайного числа на стороне PHP скрипта: Mr. D
Tigirlas Igor
03.11.2008
xengine
[Добавлено 21.01.2009 05:02:24]
ну а если между 1 id и максимальным нет какого то номера? )) Что тогда? нужно проверку перед выборкой добавить.. Karmadon
[Добавлено 08.02.2009 11:40:41]
Я думаю достаточно заменить where clause с WHERE id = '.$random_id на WHERE id =< '.$random_id Я
[Добавлено 10.02.2009 22:34:19]
только не "=<", а ">=" :)) Админ bankoboev.ru
[Добавлено 11.06.2010 01:43:19]
все намного легче, чем кажется: SELECT * FROM table order by rand() limit 0,$col; $col - сколько необходимо рядов. для одного случайного ряда ставим 1. botiiii
[Добавлено 09.05.2012 11:41:01]
Здравствуйте, я не знаком с базой данных мне нужно вывести например в 50 новостях определенный текст, нужного раздела как это сделать? Спасибо! Александр
[Добавлено 15.05.2012 12:00:21]
Вот еще одна похожая статья на эту тему: http://plutov.by/post/order_by_rand_performance |
Меню
Подписка на RSS:
Поиск
Облако тегов
.net
array
asp
bash
browser
charset
check
class
clean
convert
count
create
css
curl
database
date
delete
directory
download
element
email
equivalent
extension
file
find
form
format
function
get
height
html
http
ie
image
javascript
jquery
load
mysql
number
page
perl
php
random
scriplet
send
shell
size
sql
string
text
time
url
utf8
variable
vb
visual basic
width
window
xml
xslt
|
![]() |
![]() |
![]() |
||
![]() |
![]() |