Помогите с сортировкой

Pelsh
Дата: 24.12.2012 18:04:14
Хочу предложить пользователю посмотреть самый дорогой товар из раздела, для этого использую вот эту конструкцию:

$row = $con->execute("select * from product WHERE ID!=$id and catID=$catid ORDER BY price_gold DESC limit 1");
$d = mysql_fetch_array($row);

echo"<a href='?good=".$d['ID']."&good_id=".$d['ID']."' title='".$d['ProductName']."'>";


но при такой сортировке пользователь всегда получает самый дорогой товар, а хочется чтобы этот скрипт выбирал например из десятка самых дорогих товаров в базе случайным образом - как это можно реализовать сортировкой? или как это можно реализовать?
qwerty112
Дата: 24.12.2012 19:57:28
что-то типа этого, должно быть
select * from (select * from product WHERE ID!=$id and catID=$catid ORDER BY price_gold DESC limit 10) a order by RAND() limit 1
Pelsh
Дата: 24.12.2012 21:53:44
qwerty112,
если применить сортировку order by RAND() - будет выбирать любой товар из таблицы, а мне нужно чтобы показывались самые дорогие позиции. нужно как-то выполнить сортировку по параметру price_gold но при этом чтобы скрипт брал не самую дорогую позицию, а например одну из десяти самых дорогих позиций. нужно отсортировать по параметру price_gold по убыванию, взять 10 последних результатов, а потом из этих 10 позиций рандомно вывести одну позицию.
Akina
Дата: 24.12.2012 22:21:21
Pelsh, прежде чем пороть чушь, лучше проверил бы...
Pelsh
Дата: 24.12.2012 23:30:32
Akina
Pelsh, прежде чем пороть чушь, лучше проверил бы...
точно :) как-то я не сразу увидел все выражение )))
Pelsh
Дата: 25.12.2012 12:42:05
Все работает! Всем спасибо! :)