Запросы, планы, оптимизация запросов, ...
Модераторы: kdv, CyberMax
-
Dido
- Сообщения: 3
- Зарегистрирован: 24 мар 2005, 15:21
Сообщение
Dido » 24 мар 2005, 15:34
есть таблица,содержить 3 поле(f,f1,f2),надо удалить двоиников в таблице,что-б в таблице остался только достоверные
select max(f),f1,f2
from table
group by f1,f2
во это как вы делает?

-
MuirsheenDurkin
- Сообщения: 44
- Зарегистрирован: 21 янв 2005, 10:18
Сообщение
MuirsheenDurkin » 24 мар 2005, 15:48
delete from table t
where
exists (select * from table s
where t.f1=s.f1 and t.f2=s.f2 and s.f > t.f)
Ты бы с русским языком как-нибудь полегче бы обходился бы...
-
Dido
- Сообщения: 3
- Зарегистрирован: 24 мар 2005, 15:21
Сообщение
Dido » 25 мар 2005, 09:45
MuirsheenDurkin писал(а):delete from table t
where
exists (select * from table s
where t.f1=s.f1 and t.f2=s.f2 and s.f > t.f)
Ты бы с русским языком как-нибудь полегче бы обходился бы...
а на русском это как понять?
что означает?чё делает?
-
MuirsheenDurkin
- Сообщения: 44
- Зарегистрирован: 21 янв 2005, 10:18
Сообщение
MuirsheenDurkin » 25 мар 2005, 09:48
Это запрос, он удаляет из таблицы table все записи, кроме тех, которые ты назвал "достоверными". Я бы из назвал "имеющими максимальное значение в поле f при прочих равных f1 и f2".
-
Dido
- Сообщения: 3
- Зарегистрирован: 24 мар 2005, 15:21
Сообщение
Dido » 25 мар 2005, 10:01
MuirsheenDurkin писал(а):Это запрос, он удаляет из таблицы table все записи, кроме тех, которые ты назвал "достоверными". Я бы из назвал "имеющими максимальное значение в поле f при прочих равных f1 и f2".
спасибо,то что надо !!!
