<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Комментарии к записи: Случайный элемент из MySQL таблицы</title>
	<atom:link href="http://ya-krevetko.com/archives/4/feed" rel="self" type="application/rss+xml" />
	<link>http://ya-krevetko.com/archives/4</link>
	<description>Донецкий полуБомж о заработке в интернете, SEO и про личный опыт, заработок в интернет, програмирование, продвижение сайтов.</description>
	<lastBuildDate>Mon, 23 Jan 2012 11:43:45 +0200</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Автор: борис</title>
		<link>http://ya-krevetko.com/archives/4/comment-page-1#comment-16981</link>
		<dc:creator>борис</dc:creator>
		<pubDate>Wed, 07 Apr 2010 19:55:41 +0000</pubDate>
		<guid isPermaLink="false">http://ya-krevetko.com/?p=4#comment-16981</guid>
		<description>а какой код php вставить вставить в шаблон сайта что бы из базы выдавались определенные ячейки с определенной таблицы ВЫБОРОЧНО? 
предположим там 10 записей, а пользователям показывалась всегда какая нить одна из этих 10?</description>
		<content:encoded><![CDATA[<p>а какой код php вставить вставить в шаблон сайта что бы из базы выдавались определенные ячейки с определенной таблицы ВЫБОРОЧНО?<br />
предположим там 10 записей, а пользователям показывалась всегда какая нить одна из этих 10?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Юрий</title>
		<link>http://ya-krevetko.com/archives/4/comment-page-1#comment-14552</link>
		<dc:creator>Юрий</dc:creator>
		<pubDate>Fri, 13 Nov 2009 01:11:32 +0000</pubDate>
		<guid isPermaLink="false">http://ya-krevetko.com/?p=4#comment-14552</guid>
		<description># для выбора случайной записи я использую хранимую процедуру
CREATE PROCEDURE select_rnd()
BEGIN
  START TRANSACTION;
  # в следующих двух строках замените test_table на имя таблицы
  SELECT FLOOR(RAND() * COUNT(*)) INTO @rnd FROM test_table;
  PREPARE stmt FROM &#039;SELECT * FROM test_table LIMIT ?, 1&#039;;
  EXECUTE stmt USING @rnd;
COMMIT;
END;</description>
		<content:encoded><![CDATA[<p># для выбора случайной записи я использую хранимую процедуру<br />
CREATE PROCEDURE select_rnd()<br />
BEGIN<br />
  START TRANSACTION;<br />
  # в следующих двух строках замените test_table на имя таблицы<br />
  SELECT FLOOR(RAND() * COUNT(*)) INTO @rnd FROM test_table;<br />
  PREPARE stmt FROM &#8216;SELECT * FROM test_table LIMIT ?, 1&#8242;;<br />
  EXECUTE stmt USING @rnd;<br />
COMMIT;<br />
END;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Прогер</title>
		<link>http://ya-krevetko.com/archives/4/comment-page-1#comment-2248</link>
		<dc:creator>Прогер</dc:creator>
		<pubDate>Mon, 01 Dec 2008 21:10:07 +0000</pubDate>
		<guid isPermaLink="false">http://ya-krevetko.com/?p=4#comment-2248</guid>
		<description>1. Если нужно выбрать более одной рандомной записи то не работает.
2. Если нужно задать условие то тоже не работает</description>
		<content:encoded><![CDATA[<p>1. Если нужно выбрать более одной рандомной записи то не работает.<br />
2. Если нужно задать условие то тоже не работает</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Вячеслав</title>
		<link>http://ya-krevetko.com/archives/4/comment-page-1#comment-2010</link>
		<dc:creator>Вячеслав</dc:creator>
		<pubDate>Fri, 21 Nov 2008 11:58:17 +0000</pubDate>
		<guid isPermaLink="false">http://ya-krevetko.com/?p=4#comment-2010</guid>
		<description>Третий запрос действительно выдает пустые записи, есди идентификатор с пропусками.
Правда этот запрос помещенный в цикл до первой непустой записи все равно работает быстрее чем один SELECT * FROM table ORDER BY rand() LIMIT 1
Так что используем его.

Если использовать &gt;= random_table.randomID LIMIT 1 так же возвращает пустые записи только при этом еще и тормозит жутко.</description>
		<content:encoded><![CDATA[<p>Третий запрос действительно выдает пустые записи, есди идентификатор с пропусками.<br />
Правда этот запрос помещенный в цикл до первой непустой записи все равно работает быстрее чем один SELECT * FROM table ORDER BY rand() LIMIT 1<br />
Так что используем его.</p>
<p>Если использовать &gt;= random_table.randomID LIMIT 1 так же возвращает пустые записи только при этом еще и тормозит жутко.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Стас</title>
		<link>http://ya-krevetko.com/archives/4/comment-page-1#comment-1173</link>
		<dc:creator>Стас</dc:creator>
		<pubDate>Tue, 14 Oct 2008 15:38:47 +0000</pubDate>
		<guid isPermaLink="false">http://ya-krevetko.com/?p=4#comment-1173</guid>
		<description>то что искал</description>
		<content:encoded><![CDATA[<p>то что искал</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Антон</title>
		<link>http://ya-krevetko.com/archives/4/comment-page-1#comment-17</link>
		<dc:creator>Антон</dc:creator>
		<pubDate>Fri, 18 Jul 2008 09:22:50 +0000</pubDate>
		<guid isPermaLink="false">http://ya-krevetko.com/?p=4#comment-17</guid>
		<description>И что дает зан &quot;&gt;=&quot; ?
3 запрос у меня работает корректно на более чем  5000 записей.
Есть пробелы между id. Мы как раз и выбираем существующие записи а потом из них берем случайный. Так что у меня все правильно.
Если не так. То объясните и поправьте!
Спасибо.</description>
		<content:encoded><![CDATA[<p>И что дает зан &laquo;>=&raquo; ?<br />
3 запрос у меня работает корректно на более чем  5000 записей.<br />
Есть пробелы между id. Мы как раз и выбираем существующие записи а потом из них берем случайный. Так что у меня все правильно.<br />
Если не так. То объясните и поправьте!<br />
Спасибо.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Вадим</title>
		<link>http://ya-krevetko.com/archives/4/comment-page-1#comment-14</link>
		<dc:creator>Вадим</dc:creator>
		<pubDate>Wed, 16 Jul 2008 22:32:27 +0000</pubDate>
		<guid isPermaLink="false">http://ya-krevetko.com/?p=4#comment-14</guid>
		<description>Но и эта проблема в принципе решается следующим образом:
SELECT rutube_id, name FROM movie JOIN (SELECT CEIL(RAND() * ( SELECT MAX(id) FROM movie )) AS randomID ) AS random_table ON movie.ID &gt;= random_table.randomID LIMIT 1</description>
		<content:encoded><![CDATA[<p>Но и эта проблема в принципе решается следующим образом:<br />
SELECT rutube_id, name FROM movie JOIN (SELECT CEIL(RAND() * ( SELECT MAX(id) FROM movie )) AS randomID ) AS random_table ON movie.ID &gt;= random_table.randomID LIMIT 1</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Вадим</title>
		<link>http://ya-krevetko.com/archives/4/comment-page-1#comment-13</link>
		<dc:creator>Вадим</dc:creator>
		<pubDate>Wed, 16 Jul 2008 22:15:59 +0000</pubDate>
		<guid isPermaLink="false">http://ya-krevetko.com/?p=4#comment-13</guid>
		<description>Этот вариант подходит только в тех случаях, когда ID-шники увеличиваются автоинкрементом и нет пропусков. Т.е. если записи иногда удаляются с базы, то подобный запрос использовать нельзя, т.к. иногда он будет возвращать пустой recordset...</description>
		<content:encoded><![CDATA[<p>Этот вариант подходит только в тех случаях, когда ID-шники увеличиваются автоинкрементом и нет пропусков. Т.е. если записи иногда удаляются с базы, то подобный запрос использовать нельзя, т.к. иногда он будет возвращать пустой recordset&#8230;</p>
]]></content:encoded>
	</item>
</channel>
</rss>

