Помогите с запросом

EO
На сайте с 10.05.2005
Offline
114
332

Здравствуйте!

Хочу упростить такую конструкцию:

$count=1;

$result = mysql_query("SELECT id FROM table WHERE thits > 0 ORDER BY thits DESC LIMIT 1000") or error(mysql_error());
while($row = mysql_fetch_array ($result))
{
$result2 = mysql_query("UPDATE table SET thits_place='$count' WHERE id='{$row['id']}'") or error( mysql_error() );
$count++;
}

Как бы это сделать одним запросом?

Пробовал что-то вроде:

$result = mysql_query("UPDATE table SET thits_place=MAX(thits_place) + 1 ORDER BY thits DESC LIMIT 1000'") or error( mysql_error() );

Не работает конечно...

Какие еще есть варианты? Подскажите, пожалуйста.

Бооольшой портал о мааалом бизнесе (http://www.bizguru.ru/) | Более 1000 бизнес-программ (http://1.44mb.ru) По выходным не работаю - не ищите меня в сети. В понедельник я обычно сам возвращаюсь :)
ДП
На сайте с 23.11.2009
Offline
203
#1

посмотрите ответы вот по этим ссылкам:

http://stackoverflow.com/questions/2556385/using-mysql-variables-in-a-query

http://makandracards.com/makandra/1733-how-to-update-a-mysql-column-with-ascending-numbers

возможно вам подойдет решение с переменной.

EO
На сайте с 10.05.2005
Offline
114
#2

Спасибо, помогло!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий