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 :

L'élément le plus utilisé


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    103
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 103
    Points : 59
    Points
    59
    Par défaut L'élément le plus utilisé
    Bonjour tlm,

    Je me trouve devant un problème un peu facile, il faut le dire que ça fait longtemps que je n'ai pas touché du sql.

    Voilà le problème :

    J'ai une table qui contient trois colonnes : id, url et keyword.

    Par exemple,

    1, google.com, search
    2, android.com, smartphone
    3, bing.com, search

    Je cherche la requête sql qui me permet de retourner comme résultat le mot "search" puisque c'est le mot le plus utilisé dans ce cas

    Merci

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Novembre 2009
    Messages : 84
    Points : 80
    Points
    80
    Par défaut
    Salut,

    Si tu es sous MySQL, première réponse qui me vient à l'esprit (veuillez pardonner ma fatigue ^^) :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    select keyword from ta_table group by keyword ORDER by count(keyword) desc limit 1

  3. #3
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 103
    Points : 28 394
    Points
    28 394
    Par défaut
    Si ton SGBD ne prend pas en charge des clauses telles que TOP ou LIMIT, tu obtiendras ton résultat comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    SELECT  cnt.keyword
    FROM    (   SELECT  keyword 
                    ,   COUNT(*)    AS cnt 
                FROM    ma_table
                GROUP BY keyword 
            )   AS  kwd
        INNER JOIN
            (   SELECT  MAX(wct.cnt)    AS cnt
                FROM    (   SELECT  COUNT(*)    AS cnt
                            FROM    ma_table
                            GROUP BY keyword
                        )   AS  wct 
            )   AS  cnt 
            ON  kwd.cnt = cnt.cnt
    ;
    ou cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    SELECT  cnt.keyword
    FROM    (   SELECT  keyword 
                    ,   COUNT(*)    AS cnt 
                FROM    ma_table
                GROUP BY keyword 
            )   AS  kwd
    WHERE   EXISTS
            (   SELECT  1
                FROM    (   SELECT  COUNT(*)    AS cnt
                            FROM    ma_table
                            GROUP BY keyword
                        )   AS  wct 
                HAVING  kwd.cnt = MAX(wct.cnt)
            )    
    ;
    Cette requête te permettra d'ailleurs, si plusieurs mots-clé correspondent à ce maximum, d'en avoir toute la liste, et pas seulement un seul au hasard comme te le retournerait la requête de shaoling (mais il a une excuse, il était tard quand il a répondu )

  4. #4
    Membre du Club
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    103
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 103
    Points : 59
    Points
    59
    Par défaut
    Merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 10/06/2007, 00h43
  2. petite question : Quel est le compilateur (EDI) C++ le plus utilisé en entreprise
    Par jeremy13 dans le forum Choisir un environnement de développement
    Réponses: 7
    Dernier message: 12/12/2006, 11h43
  3. Réponses: 17
    Dernier message: 08/07/2005, 18h53
  4. L'environnement de développement le plus utilisé
    Par TheDarkLewis dans le forum Windows
    Réponses: 5
    Dernier message: 16/09/2004, 20h08

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