GARANTIR DESCONTO

Fórum Deletar se tiver menos que 10 registros repetidos. #289095

21/07/2005

0

Boa Noite, me expressei mau em um tópico que postei.

Tenho a seguinte situação:

Uma tabela com cerca de 400 mil registros, nesta tabela tem um campo TIPO.

Preciso deletar todos os registros desta tabela , se o campo TIPO, tiver menos que 10 registros repetidos.



Exemplo:
Tenho 100 registros com o conteudo A.
Beleza então estes não são deletados.

Mas se eu tiver 9 registros com o conteudo B.
Estes sim são deletados.

Mas só pra lembrar...
Tem muitos tipos diferentes, gostaria de fazer isso tudo em um select só, não colocando count em um por um e deletar...

Tentei com o having, mas ficou muito lento...
e no final não ficou no resultado esperado.

Obrigado e desculpas pela repetição.


Lynx

Lynx

Responder

Posts

21/07/2005

Lynx

eu testei dessa maneira:

select TIPO from TABELA group by TIPO
having Count(TIPO) < 10

e volta os registros que tem menos que 10 tipos repetitivos (Creio eu que está certo)

Mas para deletar tentei
Delete From Tabela where TIPO in (select TIPO from TABELA group by TIPO
having Count(TIPO) < 10)

Mas não deu certo...


Responder

Gostei + 0

21/07/2005

Lynx

ficou assim.

Delete From Tabela where TIPO in (select TIPO from TABELA
group by TIPO
having Count(TIPO) > 2000)

creio eu que está certo agora


Responder

Gostei + 0

21/07/2005

Lynx

em vez de maior é menor.
Ficou assim:
[color=red:907de6a0ff]Delete From Tabela where TIPO in (select TIPO from TABELA
group by TIPO
having Count(TIPO) < 2000)
[/color:907de6a0ff]


Responder

Gostei + 0

22/07/2005

Motta

NÃO ERAM 100 ??


Responder

Gostei + 0

22/07/2005

Lynx

pode ser 100, 10 ou 30.
Só preciso deletar os repetidos aos poucos...


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar