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

MS SQL Server Discussion :

Requête SQL nombre de lignes


Sujet :

MS SQL Server

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 143
    Points : 55
    Points
    55
    Par défaut Requête SQL nombre de lignes
    Bonjour,

    je suis sous SQL SERVER 2005, j'ai une requête qui me ressort un nombre d'enregistrement.

    Parmis ces enregistrement, j'ai un champs programme_id, qui permet de regrouper les enregistrements appartenant à un même programme.

    J'aimerais que ma requête ne em ressorte pas plus de deux enregistrements ayant le même programme_id.

    Je suis désolé, j'ai un peu de mal à refléchir en ce début de semaine.

    Merci d'avance pour votre aide et vos conseils!

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 793
    Points : 1 327
    Points
    1 327
    Par défaut
    Bonjour,

    est-il possible d'élargir le contexte pour mieux comprendre la demande ?
    Si + de 2 enregistrements on fait quoi, on ne garde rien, on en garde 2 aléatoirement, on garde les 2 premiers, on garde les 2 derniers ?

    Est-il possible d'avoir le schéma de la table et un jeu d'essai (même si tout est bidon) au moins pour mieux comprendre la demande ?
    Le Porc est un loup pour le Porc.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 143
    Points : 55
    Points
    55
    Par défaut
    bonjour,

    merci,

    alors comme exemple simple ce serait :

    annonce_id prix programme_id
    1 10 1
    2 12 1
    3 11 1
    4 13 2
    5 10 2
    6 15 3

    et ma requête ne devrait me ressortir que les lignes 1,2,4,5 et 6

    car pour les lignes 1,2 et 3, il y a trois programme_id identiques, et on en ressort donc que deux.

  4. #4
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Pouvez-vous indiquer comment éliminer les lignes "en trop" ?
    Est-ce qu'on doit procéder suivant un certain ordre, et si oui, lequel ?

    @++

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 143
    Points : 55
    Points
    55
    Par défaut
    Bonjour,

    En fait, non, pour l'instant, pas de règles pour "éliminer les lignes en trop", le principe est juste de ne pas prendre plus de deux lignes avec le même programme_id, sans plus.

    Merci.

  6. #6
    Membre expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Points : 3 173
    Points
    3 173
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT * 
    FROM (
             SELECT id,value,ROW_NUMBER() OVER(PARTITION BY ID ORDER BY ID) rnk
             FROM dbo.table)T
    WHERE rnk<=2
    Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
    MCTS Database Development
    MCTS Database Administration

Discussions similaires

  1. requête SQL dans liste, lignes manquantes (psycopg2)
    Par zone12 dans le forum Général Python
    Réponses: 4
    Dernier message: 24/06/2011, 16h42
  2. Réponses: 4
    Dernier message: 11/01/2011, 16h29
  3. Requête SQL, transformer des lignes en colonne
    Par gadget2 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 01/11/2010, 20h50
  4. Réponses: 4
    Dernier message: 02/04/2009, 14h18
  5. mettre une requête SQL sur deux lignes
    Par MAMANHOU dans le forum VBA Access
    Réponses: 2
    Dernier message: 07/11/2008, 15h37

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