Per rimuovere i record duplicati in MariaDB, è possibile utilizzare varie tecniche. Una delle tecniche più semplici ed efficaci utilizza la combinazione di `DELETE` e `JOIN`:
1. Creare una tabella temporanea con le righe uniche.
```
CREATE TABLE tempTable AS
SELECT * FROM originalTable GROUP BY [columns];
```
Dove [columns] è l’elenco delle colonne sui cui basate l’unicità.
1. Eliminare i dati dalla tabella originale.
```
TRUNCATE TABLE originalTable;
```
1. Riportare i dati unici alla tabella originale.
```
INSERT INTO originalTable
SELECT * FROM tempTable;
```
1. Eliminare la tabella temporanea.
```
DROP TABLE tempTable;
```
Un’altra strategia consiste nell’utilizzare la clausola ‘DELETE JOIN’:
1. Utilizzare `ROW_NUMBER()` per assegnare un numero di riga a ciascuna riga di una partizione di risultati.
```
WITH cte AS (
SELECT column1, column2,
ROW_NUMBER() OVER row_num
FROM originalTable
)
```
1. Quindi, utilizzare `DELETE JOIN` per rimuovere tutte le righe con un `row_num` superiore a 1, che sono i duplicati.
```
DELETE t1 FROM originalTable t1
INNER JOIN cte ON cte.id = t1.id
WHERE cte.row_num > 1;
```
Ricorda di sostituire “originalTable”, “tempTable” e “column1”, “column2” con i nomi appropriati della tua tabella e delle tue colonne.