<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Форум PHP-MyAdmin.RU &mdash; Выбор случайной записи в группе]]></title>
	<link rel="self" href="https://forum.php-myadmin.ru/extern.php?action=feed&amp;tid=4042&amp;type=atom" />
	<updated>2015-04-26T17:39:39Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.php-myadmin.ru/viewtopic.php?id=4042</id>
		<entry>
			<title type="html"><![CDATA[Re: Выбор случайной записи в группе]]></title>
			<link rel="alternate" href="https://forum.php-myadmin.ru/viewtopic.php?pid=26295#p26295" />
			<content type="html"><![CDATA[<p>В таком случае не советую делать одним запросом, это потребует создание подзапросов, или временной таблицы. Выберите товары девяти компаний и уже из них, можно даже средствами PHP выбрать один случайным образом.</p>]]></content>
			<author>
				<name><![CDATA[Hanut]]></name>
				<uri>https://forum.php-myadmin.ru/profile.php?id=181</uri>
			</author>
			<updated>2015-04-26T17:39:39Z</updated>
			<id>https://forum.php-myadmin.ru/viewtopic.php?pid=26295#p26295</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Выбор случайной записи в группе]]></title>
			<link rel="alternate" href="https://forum.php-myadmin.ru/viewtopic.php?pid=26293#p26293" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Hanut сказал:</cite><blockquote><p>В ORDER BY через запятую добавьте дополнительное поле сортировки.</p><p>Попробуйте проверить скорость выполнения запроса с RAND() и без него. Думаю разница будет не значительная.</p><p>Вопрос по выбору единственного случайного из группы - я не понял. Пример с RAND() вернет дополнительное поле имеющее случайное число, при сортировке по этому полю, вы будете получать разные последовательности сортировки, в зависимости от случайного числа. Выполните запрос с RAND() и посмотрите что возвращает поле, чтобы лучше понять. Если необходимо как-то еще сузить выборку, то нужен пример с данными и структурой таблицы.</p></blockquote></div><br /><p>Идею с RAND() понял, но у меня задача более специфическая.<br />Структура такая:<br />images_products имеет ключ компании и ключ товара-индекс ,<br />products_color имеет ключ товара и поле цвета в таблице нет индексов так как у товара может быть несколько цветов соответственно на один товар несколько записей<br />data_page_up имеет ключ компании-индекс и поле int&nbsp; в нем дата в виде int</p><p>теперь задача это вывести девять компаний и отсортеровать их по дате page_up - получаем товары девяти компаний<br />и теперь из этого нужно в случайном порядке вытащить один товар у каждой компании<br />т.е. получить 9 товаров случайным образом</p>]]></content>
			<author>
				<name><![CDATA[Boris]]></name>
				<uri>https://forum.php-myadmin.ru/profile.php?id=1879</uri>
			</author>
			<updated>2015-04-26T08:47:24Z</updated>
			<id>https://forum.php-myadmin.ru/viewtopic.php?pid=26293#p26293</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Выбор случайной записи в группе]]></title>
			<link rel="alternate" href="https://forum.php-myadmin.ru/viewtopic.php?pid=26292#p26292" />
			<content type="html"><![CDATA[<p>В ORDER BY через запятую добавьте дополнительное поле сортировки.</p><p>Попробуйте проверить скорость выполнения запроса с RAND() и без него. Думаю разница будет не значительная.</p><p>Вопрос по выбору единственного случайного из группы - я не понял. Пример с RAND() вернет дополнительное поле имеющее случайное число, при сортировке по этому полю, вы будете получать разные последовательности сортировки, в зависимости от случайного числа. Выполните запрос с RAND() и посмотрите что возвращает поле, чтобы лучше понять. Если необходимо как-то еще сузить выборку, то нужен пример с данными и структурой таблицы.</p>]]></content>
			<author>
				<name><![CDATA[Hanut]]></name>
				<uri>https://forum.php-myadmin.ru/profile.php?id=181</uri>
			</author>
			<updated>2015-04-25T16:33:57Z</updated>
			<id>https://forum.php-myadmin.ru/viewtopic.php?pid=26292#p26292</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Выбор случайной записи в группе]]></title>
			<link rel="alternate" href="https://forum.php-myadmin.ru/viewtopic.php?pid=26290#p26290" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Hanut сказал:</cite><blockquote><p>Добавьте поле RAND() и отсортируйте по нему.</p><div class="codebox"><pre><code>SELECT products.`uniq_id` , products.id_product, products.article_product, page_up.date_page_up, RAND() AS `rand`
...
ORDER BY `rand`</code></pre></div></blockquote></div><p>Спасибо.<br />Подскажите если большое количество строк, как будет вести себя RAND()<br />И пожалуйста, объясните каким образом из группы это выбирает единственный случайный, спасибо вам огромное за идею<br />P.S. и еще мне надо отсортировать и по page_up.date_page_up, как быть?</p>]]></content>
			<author>
				<name><![CDATA[Boris]]></name>
				<uri>https://forum.php-myadmin.ru/profile.php?id=1879</uri>
			</author>
			<updated>2015-04-25T10:34:35Z</updated>
			<id>https://forum.php-myadmin.ru/viewtopic.php?pid=26290#p26290</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Выбор случайной записи в группе]]></title>
			<link rel="alternate" href="https://forum.php-myadmin.ru/viewtopic.php?pid=26289#p26289" />
			<content type="html"><![CDATA[<p>Добавьте поле RAND() и отсортируйте по нему.</p><div class="codebox"><pre><code>SELECT products.`uniq_id` , products.id_product, products.article_product, page_up.date_page_up, RAND() AS `rand`
...
ORDER BY `rand`</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Hanut]]></name>
				<uri>https://forum.php-myadmin.ru/profile.php?id=181</uri>
			</author>
			<updated>2015-04-24T17:21:51Z</updated>
			<id>https://forum.php-myadmin.ru/viewtopic.php?pid=26289#p26289</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Выбор случайной записи в группе]]></title>
			<link rel="alternate" href="https://forum.php-myadmin.ru/viewtopic.php?pid=26288#p26288" />
			<content type="html"><![CDATA[<p>Здравствуйте!<br />У меня есть компании которые размещают свои товары, у товаров есть один из параметров цвет.<br />Мне надо выбрать один случайный товар у каждой из 9 первых компаний, цвет которого соответствует запросу.<br />Вот мой пример запроса в котором я получаю компании и их товары с соответствующим цветом, но как теперь случайным образом выбрать один товар у каждого из 9-ти не знаю, помогите пожалуйста.<br />Записей будет очень много более 3-4 миллионов</p><div class="codebox"><pre><code>SELECT products.`uniq_id` , products.id_product, products.article_product, page_up.date_page_up
FROM images_products AS products, products_color AS color, data_page_up AS page_up
WHERE products.uniq_id = page_up.uniq_id
AND products.id_product = color.id_product
AND color.colors_name
IN ( 1, 4, 12, 15 )
GROUP BY products.id_product
ORDER BY page_up.date_page_up DESC </code></pre></div>]]></content>
			<author>
				<name><![CDATA[Boris]]></name>
				<uri>https://forum.php-myadmin.ru/profile.php?id=1879</uri>
			</author>
			<updated>2015-04-24T14:12:52Z</updated>
			<id>https://forum.php-myadmin.ru/viewtopic.php?pid=26288#p26288</id>
		</entry>
</feed>
