







|
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,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
16777
|
|