Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Изменить таблицу (Feodor) 23/08/2004 - 21:01:34
      Re: Изменить таблицу (Dubrovsky) 24/08/2004 - 10:38:28

> Original message text:
> From: Feodor - 23/08/2004 - 21:01:34
> Subject:Изменить таблицу
> -----------------
> Имеется вот такая таблица:
> +---------+----------+------------+---------+
> | id | t_id | time | comment |
> +---------+----------+------------+---------+
> | 7 | 4 | 1077628633 | 1 |
> | 14 | 4 | 1077649763 | 1 |
> | 15 | 4 | 1077652403 | 1 |
> | 8 | 5 | 1077628924 | 1 |
> | 10 | 5 | 1077636965 | 1 |
> | 12 | 5 | 1077639426 | 1 |
> | 760 | 5 | 1084003446 | 1 |
> | 19 | 7 | 1077668840 | 1 |
> | 20 | 7 | 1077669012 | 1 |
> ---------------------------------------------
>
> Как можно сделать так чтоб в каждой первой строчке по времени (time) с одинаквым p_id comment изменился на 0.
> Т.е. результат должен быть
> +---------+----------+------------+---------+
> | id | t_id | time | comment |
> +---------+----------+------------+---------+
> | 7 | 4 | 1077628633 | 0 |
> | 14 | 4 | 1077649763 | 1 |
> | 15 | 4 | 1077652403 | 1 |
> | 8 | 5 | 1077628924 | 0 |
> | 10 | 5 | 1077636965 | 1 |
> | 12 | 5 | 1077639426 | 1 |
> | 760 | 5 | 1084003446 | 1 |
> | 19 | 7 | 1077668840 | 0 |
> | 20 | 7 | 1077669012 | 1 |
> ---------------------------------------------
>
> Народ, помогите пожалуйста!
>


From: Dubrovsky - 24/08/2004 - 10:38:28
Subject:Изменить таблицу
-----------------
через то место:

create temporary table t1(t_id TYPE, time TYPE); #тип сам подставишь
insert into t1 select t_id, max(time) from TABLE group by t_id;
create temporary table t2(id TYPE, t_id TYPE, time TYPE); #тип сам
insert into t2 select id, t_id, max(time) from t2 inner join YOUR_TABLE
using (t_id, time);
и наконец
replace YOUR_TABLE select *, 0 from t2;

можно немного сократить ежели позволяет субд соответствующие вложенные запросы и оптимизировать используя индексацию



[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
16777



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |