Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2000
    Messaggi
    727

    PHP+MYSQL: eliminare record presenti UNA sola volta

    ho una tabella con ben 127.000 record e ho l'esigenza di eliminare i record presenti una sola volta e di lasciare quelli presenti due volte, tre volte e così via
    esempio:

    pippo
    paperino
    pluto
    paperino
    pluto
    pluto

    il php dovrebbe eliminarmi pippo perchè presente UNA sola volta.
    Ho letto e preso spunto in giro e ho partorito questo:

    $query = "SELECT CAMPO, count(CAMPO) as conteggio from TABELLA group by CAMPO having count(CAMPO) = 1";
    $result = mysql_query($query);
    while($row = mysql_fetch_assoc($result)) {
    $query = "DELETE from TABELLA WHERE CAMPO2 > 1 and CAMPO='".$row['CAMPO']."'";
    mysql_query($query);

    ma mi restuisce error: unexpected $end
    sono completamente fuso e non so più che fare....

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    codice:
    delete from tabella where campo in (select * from (
    select campo from tabella 
    group by campo
    having count(*) = 1) as t)

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2000
    Messaggi
    727
    grazie per la risposta
    ma mi puoi commentare un attimo quelle righe?
    non mi funzionano ma di sicuro xchè non le utilizzo bene...

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Se non funziona procedi per gradi.

    codice:
    select campo from tabella 
    group by campo
    having count(*) = 1)
    Parti da questa porzione per ricavare le voci presenti una sola volta.

    Il resto della query è una semplice delete che cancella dalla tabella tali voci.
    E' necessario ricorrere all'escamotage "select * from con relativo alias" per evitare l'errore

    You can't specify target table 'nome_tabella' for update in FROM clause.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2000
    Messaggi
    727
    uh fantastico
    l'ho schiaffato dentro phpmyadmin e va alla grande

    dentro una pag php si vede che sbagliavo qualcosa

    grazie tantissimo e un saluto a quella stupenda terra che è la sardegna!!!!!!!!!

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Prego. Ricambio i saluti.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.