par
Ryle » 02 mai 2007, 12:04
Le DISTINCT te permet de dire que tu ne veux pas que les lignes d'enregistrements identiques soient répétées

Ainsi, si tu as 3 fois le même nom d'auteur pour 3 livres différents, un distinct sur le nom d'auteur ne te le ramènera qu'une fois.
Quant à l'utilisation, même sans comprendre l'anglais, tu as un exemple dès le début de la doc :
SELECT
[ALL | DISTINCT | DISTINCTROW ]
select_expr, ...
FROM table_references
Il te suffit donc de mettre l'instruction distinct avant la liste des champs dont tu as besoin pour qu'il supprime les doublons
Nota : Comme le signal
zeus, il est préférable de lister les champs que d'utiliser "SELECT *", d'autant que cela a une importance pour le distinct : Si tu as 3 fois le même nom d'auteur pour 3 livres différents, un distinct sur le nom d'auteur et sur le nom du livre, te ramènera les 3 enregistrements, puisqu'ils sont, de part le nom du livre, tous différents

Le DISTINCT te permet de dire que tu ne veux pas que les lignes d'enregistrements identiques soient répétées :) Ainsi, si tu as 3 fois le même nom d'auteur pour 3 livres différents, un distinct sur le nom d'auteur ne te le ramènera qu'une fois.
Quant à l'utilisation, même sans comprendre l'anglais, tu as un exemple dès le début de la doc :
[quote]SELECT
[ALL | [b][color=green]DISTINCT[/color][/b] | DISTINCTROW ]
select_expr, ...
FROM table_references[/quote]
Il te suffit donc de mettre l'instruction distinct avant la liste des champs dont tu as besoin pour qu'il supprime les doublons :)
Nota : Comme le signal [b]zeus[/b], il est préférable de lister les champs que d'utiliser "SELECT *", d'autant que cela a une importance pour le distinct : Si tu as 3 fois le même nom d'auteur pour 3 livres différents, un distinct sur le nom d'auteur et sur le nom du livre, te ramènera les 3 enregistrements, puisqu'ils sont, de part le nom du livre, tous différents :)