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 :

tr/sql et pl/sql


Sujet :

MS SQL Server

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 14
    Points : 12
    Points
    12
    Par défaut tr/sql et pl/sql
    Dans une table t1 avec une colonne num numeric
    avec par exemple 5 4 7 1 10 8
    je souhaite selectionner le deuxieme nombre le plus grand
    comment faire? Merci.

  2. #2
    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 : 43
    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
    Bonsoir,

    Vous pouvez faire avec, par exemple, une expression de table commune et la fonction de fenêtrage ROW_NUMBER() :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    WITH CTE AS
    (
    	SELECT num,
    		ROW_NUMBER() OVER (ORDER BY num DESC) RowNumber
    	FROM t1
    )
    SELECT num
    FROM CTE
    WHERE RowNumber = 2
    Ou encore avec une table dérivée, mais toujours avec la même fonction de fenêtrage :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT num
    FROM (
    	SELECT num,
    		ROW_NUMBER() OVER (ORDER BY num DESC) RowNumber
    	FROM @T1
          ) DV
    WHERE DV.RowNumber = 2
    Attention ces deux syntaxes ne fonctionnent qu'à partir de la version 2005 de SQL Server

Discussions similaires

  1. Réponses: 4
    Dernier message: 30/01/2005, 14h23
  2. [PL/SQL] Optimisation requete SQL
    Par CDRIK dans le forum Langage SQL
    Réponses: 3
    Dernier message: 14/10/2004, 09h52
  3. Catproc.sql et Catalog.sql
    Par blids dans le forum Administration
    Réponses: 26
    Dernier message: 26/04/2004, 17h52
  4. Problème réplication SQL Server et SQL Server CE (RDA)
    Par didix11 dans le forum Réplications
    Réponses: 2
    Dernier message: 15/04/2004, 11h10
  5. de SQL vers T-SQL sous MS SREVER
    Par Nadaa dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 19/09/2003, 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