Общие > Базы данных

SQL: Как упорядочить значения?

(1/2) > >>

APL:
Есть таблица, допустим такая:

CREATE TABLE `temp` (`id` DOUBLE AUTO_INCREMENT, `num` DOUBLE, PRIMARY KEY(`id`), UNIQUE(`id`))

данные:

id      |     num
1       |    734
2       |    70
3       |     6
4       |     44

можно ли одним-двумя запросами обновить поле \'num\', чтобы минимальное значение было 1, а максимальное равнялось количесву записей, при чем если мы отсортируем по \'num\' - порядок должен остаться прежним.

Заранее спасибо.

commander:
APL
в чем проблемма?
1 select
1 цикл
и
COUNT(num) update ...
и всех делов...

APL:
Можно подробнее? Не понял.

После преобразования приведенные выше данные должны стать такими:

id | num
1 | 4
2 | 3
3 | 1
4 | 2

commander:
APL
ну допустим на перле я бы написал примерно так:
my $Data=$D->row_hash("SELECT id, num FROM table ORDER BY num");
my $NI=0;
while ($Data->[$NI])
{
$D->proc("UPDATE table SET num=$NI WHERE id=".$Data->[$NI]{\'id\'}."");
$NI++
}
ещё коменты требуються?

APL-Guest:
Дык это понятно... а вот без цикла...

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии