MySQL enlever doublons dans table
Bonjour,
Je veux enlever des doublons dans une table.
Par exemple, la table a 6 colonnes. Je veux m'assurer que les colonnes 1 et 2 ne se répètent pas sur une même ligne. Toutefois, je veux quand même que le résultat contient l'affichage des 6 colonnes. Je veux garder n'importe quelle des lignes qui a des doublons.
Ex :
3390 CYL_START CYL_END ALLOC UTIL serveur
0520 1 500 20 10 sigssa
0530 3 200 30 20 sigml17
0520 1 100 20 5 sigllo0
Le résultat devrait être :
3390 CYL_START CYL_END ALLOC UTIL serveur
0520 1 500 20 10 sigssa
0530 3 200 30 20 sigml17
avec ça :
SELECT DISTINCT CYL_start, 3390
FROM `zvm_dfultra`
On obtient seulement :
3390 CYL_START
0520 1
0530 3
J'ai MySQL 4.1. Merci !
Erreur près de DELETE FROM
J'ai lu l'article et c'est des doublons relatifs que j'ai. La première partie de la requête fonctionne mais, j'ai de la difficulté avec la deuxième. J'ai une erreur de syntaxe près de DELETE FROM (ligne 10)....
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| SELECT DISTINCT `3390` , `cyl_start` , `Mo_alloc`
FROM `zvm_dfultra` t1
WHERE EXISTS (
SELECT `3390` , `cyl_start` , `mo_alloc`
FROM `zvm_dfultra` t2
WHERE T1.`3390` = T2.`3390`
AND T1.`CYL_start` = T2.`CYL_start`
AND T1.`mo_alloc` <> t2.`mo_alloc`
)
DELETE FROM `zvm_dfultra` t WHERE T.`mo_alloc` < ANY(
SELECT `mo_alloc`
FROM `zvm_dfultra` t2
WHERE T.`mo_alloc` <> T2.`mo_alloc`
AND T.`3390` = T2.`3390`
AND T.`CYL_start` = T2.`CYL_start`
) |
La deuxième requête ne fonctionne pas
Bonjour,
La première requête fonctionne. Le DELETE ne fonctionne pas. J'utilise MySQL 4.1.9. J'obtiens le message suivant :
#1064 - Erreur de syntaxe près de 'DELETE `zvm_dfultra` t
WHERE T.`mo_alloc` < ANY
(SELECT ' ࠬa ligne 9
Les backquotes servent à identifier des colonnes. Je n'ai pas plus de détails.