Автор Тема: SQL: Как упорядочить значения?  (Прочитано 3869 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн APL

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 344
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.aerozone.ru
SQL: Как упорядочить значения?
« : 19 Октября 2005, 18:34:59 »
Есть таблица, допустим такая:

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

  • Developer
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1298
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.webtips.ru
SQL: Как упорядочить значения?
« Ответ #1 : 19 Октября 2005, 18:50:36 »
APL
в чем проблемма?
1 select
1 цикл
и
COUNT(num) update ...
и всех делов...
And no religion too...

Оффлайн APL

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 344
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.aerozone.ru
SQL: Как упорядочить значения?
« Ответ #2 : 19 Октября 2005, 19:05:21 »
Можно подробнее? Не понял.

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

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

Оффлайн commander

  • Developer
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1298
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.webtips.ru
SQL: Как упорядочить значения?
« Ответ #3 : 19 Октября 2005, 19:30:49 »
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++
}
ещё коменты требуються?
And no religion too...

APL-Guest

  • Гость
SQL: Как упорядочить значения?
« Ответ #4 : 19 Октября 2005, 20:31:59 »
Дык это понятно... а вот без цикла...

Оффлайн commander

  • Developer
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1298
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.webtips.ru
SQL: Как упорядочить значения?
« Ответ #5 : 20 Октября 2005, 16:29:03 »
APL
ну напиши функцию... но без цикла все равно не обойдеться...  и вообще зачем их упорядочивать?
And no religion too...

 

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