SQL: Selezionare righe duplicate

SQL: Selezionare righe duplicate

Esiste una query per selezionare le righe di una tabella che hanno un valore in comune? Scopriamolo assieme.

Ogni buon programmatore, che ha a che fare quotidianamente con i database, si troverà prima o poi a dovere ricavare le righe duplicate di una tabella, quelle cioè che hanno uno o più campi in comune. Una specie di "SELECT NOT DISTICT", come erroneamente viene codificato da molti, andando incontro ad un sicuro errore.

Ad esempio, potremmo estrarre dal database di un negozio di assistenza tutti i computer con lo stesso numero seriale, cioè quelli riparati più di una volta. La query corretta è la seguente:

SELECT numero_seriale, nome_cliente, data_riparazione
FROM assistenza
WHERE numero_seriale IN (
    SELECT numero_seriale
    FROM assistenza
    GROUP BY numero_seriale
    HAVING COUNT(*) > 1
);

Una query come questa è utile anche in casi di database corrotti, che presentano dati erroneamente duplicati. Fatene buon uso e per qualunque domanda potete lasciare un commento qui sotto.

Note

tags sql, select, distict

Dettagli pubblicazione

Categoria: MySQL

Pubblicato da: loryzz in data: 02.10.2009 11:40:53

Ultima modifica di: loryzz in data: 02.10.2009 11:41:54

Statistiche

Details  Questo articolo è stato visualizzato 564 volte.

Segnala presso

add to oknotizie add to ziczac add to technotizie add to fai_informazione add to wikio add to segnalo add to koolontheweb add to facebook add to delicious add to google add to stumbleupon add to technorati add to ask add to live

Votazioni

  • Currently 0; ?>/ TOTALSTARS
  • 1
  • 2
  • 3
  • 4
  • 5

Commenti

Details Gli utenti del sito hanno rilasciato 0 commenti, di cui 0 in attesa di approvazione.

Lascia un commento

Tutti i commenti devono essere approvati da un amministratore prima di essere visualizzati al pubblico. Si tratta di una misura preventiva contro spam e pubblicità e non è necessario reinviare il commento.
Si prega di scrivere commenti in tema. Spam e messaggi promozionali non vengono approvati.


Codice di conferma

Inserisci nella casella di testo i caratteri presenti nell'immagine.

MySQL: interventi collegati