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 :

[Transact SQL] Rechercher numero le plus proche


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Novembre 2006
    Messages : 131
    Points : 83
    Points
    83
    Par défaut [Transact SQL] Rechercher numero le plus proche
    Bonjour,

    Je cherche le moyen d'executer une requête me retournant le numero le plus proche qui est contenu dans une colonne d'une de mes tables.
    Explication par un exemple :
    Disons que j'ai une table "Mes_numeros_possibles" avec une colonne "Numero"
    Cette table contient les enregistements suivants :
    10
    20
    30

    Ces numeros sont considérés comme des paliers, et je cherche à récupérer le numéro le plus proche d'un numéro passé en paramètre.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    DECLARE @UnNumero int
    SET @UnNumero = 16
    SELECT Numero FROM Mes_numeros_possibles WHERE Numero EstLePlusProcheDe(@UnNumero)
    --Je souhaite que le numero retourné par la requête dans cet exemple soit 20

    EstLePlusProcheDe est ce qui me manque aujourd'hui, je ne vois pas quelle fonction TransactSql peut faire ceci.

  2. #2
    Expert éminent
    Homme Profil pro
    Big Data / Freelance EURL
    Inscrit en
    Mars 2003
    Messages
    2 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Big Data / Freelance EURL

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 124
    Points : 7 291
    Points
    7 291
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    DECLARE @UnNumero int
    SET @UnNumero = 16
     
    SELECT Numero FROM Mes_numeros_possibles
    where abs(@UnNumero-Numero) IN 
      (
      SELECT min(abs(@UnNumero-Numero)) FROM Mes_numeros_possibles
      )

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Novembre 2006
    Messages : 131
    Points : 83
    Points
    83
    Par défaut
    Merci beaucoup phili_b pour cette réponse rapide et cette solution efficace.
    Ca marche très bien.
    ++

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

Discussions similaires

  1. Recherche date la plus proche
    Par Marius76 dans le forum IHM
    Réponses: 8
    Dernier message: 14/02/2011, 16h19
  2. Recherche de n plus proches voisin dans un espace de 2 dimension.
    Par mobi_bil dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 22/05/2009, 11h56
  3. Recherche des k plus proches voisins d'un point
    Par mobi_bil dans le forum Traitement d'images
    Réponses: 5
    Dernier message: 13/05/2009, 15h39
  4. Réponses: 5
    Dernier message: 08/12/2007, 21h15
  5. Récupurer via une requête SQL la valeur la plus proche
    Par yoda_style dans le forum Langage SQL
    Réponses: 9
    Dernier message: 27/04/2004, 14h52

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