IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

Distinct sur plusieurs champs


Sujet :

Langage SQL

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 31
    Points : 27
    Points
    27
    Par défaut Distinct sur plusieurs champs
    Bonjour,

    Voilà je me casse la tête à faire une "bête" requete sur la même table..

    En gros j'ai ceci...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ID       sessid        url
    --       ------       -------------------------------
     1        e5487        tata.html
     2        e5487        tata.html
     3        e5487        salut.html
     4        545rc        index.html
    J'aimerais pouvoir récupérer ceci en éliminant les doublons mais filtrés sur 2 champs, sessid et url, de sorte que 2 enreg n'aie aps le mêm sessid et le mêm url (oui c'est pr sdes stats persos ).

    Je dois juste récupérer le nombre de lignes retournées

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ID       sessid        url
    --       ------       -------------------------------
     2        e5487        tata.html
     3        e5487        salut.html
     4        545rc        index.html
    Mais un distinct sur 2 champ ça ne marche pas!

    Merci pour votre aide!!

    Bizzzzzzzzzz

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 52
    Points : 62
    Points
    62
    Par défaut
    Salut,

    Une solution avec laquelle tu peux résoudre ton problème :
    (c'est pas la seule)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    select  ID,
    		sessid,
    		url 
    FROM
    	(
    	 SELECT RANK() OVER (PARTITION BY SESSID,URL ORDER BY ID DESC) RANK, * 
    	 FROM TA_TABLE
    	)Tb
    where Rank = 1 
    ORDER BY ID

  3. #3
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 316
    Points : 367
    Points
    367
    Par défaut
    Bonjour,

    Si j'ai bien compris essaie

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT  max(ID), sessid, url FROM matable
    group by sessid, url
    A+

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour !

    Mais si, un distinct sur 2 champs existes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select distinct sessid, url FROM matable
    par contre tu n'auras pas l'id (normal, on ne sait pas lequel choisir en cas de doublon !!!)

Discussions similaires

  1. [AC-2007] Problème avec COUNT DISTINCT sur plusieurs champs :
    Par Bonero dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 12/10/2012, 14h33
  2. [SQL] Distinct sur plusieurs champs
    Par sllab dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 04/08/2009, 21h29
  3. Requête : distinct sur plusieurs champs
    Par bractar dans le forum Langage SQL
    Réponses: 13
    Dernier message: 08/06/2007, 19h54
  4. [CR] Groupement dynamique sur plusieurs champs paramètrés
    Par CDRIK dans le forum SAP Crystal Reports
    Réponses: 8
    Dernier message: 07/06/2004, 17h55
  5. recuperer les id sur plusieurs champs
    Par matN59 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 15/03/2004, 10h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo