Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di james
    Registrato dal
    Jun 2002
    Messaggi
    1,481

    [mysql] trovare ed eliminare istanze doppie

    Ho una tabella preferiti così:
    id
    id_utente
    id_oggetto

    praticamente contiene la lista degli id degli oggetti preferiti di ciascun utente

    Siccome è possibile che l'utonto inserisca più volte lo stesso oggetto tra i suoi preferiti, vorrei scrivere una query che mi cancella tutti i doppioni, praticamente, a parita di utente, eliminare tutte le istanze che contegono id_oggetto che compaiono più di una volta con lo stesso id_utente, e lasciarne solamente uno.

    Non riesco a scrivere la condizione della DELETE, sempre che si riesca a far tutto con una sola query

  2. #2
    La piu' rapida e' sempre la tabella provvisoria.

    selezioni in una tabella provvisoria i valori con distinct o group by, esegui il truncate della tabella di origine e poi copi la tabella temporanea in quella svuotata.

    ne avevamo gia' parlato sul forum...

    qui per esempio .... http://forum.html.it/forum/showthrea...hreadid=845359

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it L'avatar di james
    Registrato dal
    Jun 2002
    Messaggi
    1,481
    grazie, data la situazione cmq, pensavo di fare una select distinct e lasciare che l'utente inserisca più volte lo stesso preferito, poi quando lo toglie dai preferiti li toglie tutti.

    Grazie mille

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.