Hello,
Est ce que l'emploie du distinct est recommandé?
Ou alors si on en vient à utiliser distinct c'est qu'il y a un soucis dans la requete?
Merci d'avance,
Hello,
Est ce que l'emploie du distinct est recommandé?
Ou alors si on en vient à utiliser distinct c'est qu'il y a un soucis dans la requete?
Merci d'avance,
@+
Fabszn
Twitter : @fsznajderman
N'oubliez pas le bouton
Comment bien poser ses questions sur le forum
Seulement quand c'est nécessaire... donc lorsqu'on peut avoir des lignes en double dans le résultat alors qu'on ne le désire pasEnvoyé par fabszn
Non, il n'y a pas de souci... c'est seulement qu'on en a besoin.Envoyé par fabszn
est équivalent à
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 select distinct champ1, .. , champN from matabledonc peut être coûteux quand il n'est pas utile
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 select champ1, .. , champN from matable group by champ1, .. , champN
Modérateur Langage SQL
Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
N'oubliez pas le bouton et pensez aux balises [code]
Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.
franchement ça sert bien et tu es souvent obligé de l'utiliser
Ignorer c'est aussi croire que l'on sait.
Merci d'essayer d'écrire correctement.
Pas de questions techniques par MP SVP.
Hello,
Merci pour vos réponses!
@+
Fabszn
Twitter : @fsznajderman
N'oubliez pas le bouton
Comment bien poser ses questions sur le forum
tsst tsst. Pour débugger une requête ou une faire recherche rapide dans SQL*Plus ou Query Analyzer, DISTINCT est très pratique. Mais pour des développements DISTINCT est absolument déconseillé.Envoyé par remika
En effet on voit souvent des requêtes mal écrites avec des doublons à la pelle à cause de jointures oubliées, d'un problème de logique, de niveaux d'agrégation mal étudiés entre plusieurs tables qui ont souvent été résolues à l'arrache avec un DISTINCT.Envoyé par fabszn
En théorie c'est quand on en a besoin et c'est plus rapie à écrire qu'un group by, en pratique le DISTINCT est souvent malheureusement mal utilisé . D'ailleurs un DISTINCT fait un group by de tout les champs tandis que le group by permet de ne prendre que les dimensions et d'agréger les indicateurs (SUM,MAX,..), ce que ne sait pas faire le distinct.
quand tu fais un SELECT DISTINCT ton_champ ça fait un GROUP BY sur tous les champs ???
Ignorer c'est aussi croire que l'on sait.
Merci d'essayer d'écrire correctement.
Pas de questions techniques par MP SVP.
oui.
si tu as
select distinct id_table_restau, prix from commande te donne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 id_cmd id_table_restau prix 1 table_54 15 euros 2 table_54 15 euros 3 table_55 15 euros
tandis qu'un group by qui ne sera que sur id_table_restau te donnera
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 id_table_restau prix table_54 15 euros table_55 15 euros
notes le 30 euros.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 select id_table_restau,sum( prix ) from commande group by id_table_restau id_table_restau prix table_54 30 euros table_55 15 euros
c'est bon à savoir thx
Ignorer c'est aussi croire que l'on sait.
Merci d'essayer d'écrire correctement.
Pas de questions techniques par MP SVP.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager