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

Développement SQL Server Discussion :

Mediane sql serveur avec PERCENTILE_CONT


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

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

    Informations forums :
    Inscription : Mai 2015
    Messages : 41
    Par défaut Mediane sql serveur avec PERCENTILE_CONT
    Bonjour,
    j'ai besoin de trouver la médiane du CAHT des magasin en fonction de l'année contenue dans une table avec comme structure :
    id_structure
    annee
    mois
    CAHT

    Pour ce faire j'utilise la requête suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select id_structure , dbo.PERCENTILE_CONT(0.5)
     WITHIN GROUP (order by id_structure) over (partition by CAHT) as median
    from Structure_CAHT
    Mais j'ai le message d'erreur suivant:
    Msg*102, Niveau*15, État*1, Ligne*2
    Syntaxe incorrecte vers '('.

    je ne trouve pas comment résoudre cette erreur.
    pouvez vous m'aider.

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    bonjour,

    enlevez le dbo :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    select id_structure , PERCENTILE_CONT(0.5)
     WITHIN GROUP (order by id_structure) over (partition by CAHT) as median
    from Structure_CAHT
    Mais je pense que ce n'est pas fonctionnellement ce que vous voulez.

    qu'attendez vous comme résultat ?

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

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

    Informations forums :
    Inscription : Mai 2015
    Messages : 41
    Par défaut
    j'ai tester en enlèvent de dbo. et j'ai comme message d'erreur :
    Msg*195, Niveau*15, État*10, Ligne*1
    'PERCENTILE_CONT' n'est pas une option nom de fonction intégrée reconnue.

    ce que j’attente c'est d'obtenir la médiane des chiffres d'affaire d'un magasin suivent l'année.

  4. #4
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    quelle est votre version de SQL Server ?

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

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

    Informations forums :
    Inscription : Mai 2015
    Messages : 41
    Par défaut
    Microsoft SQL Server 2008 R2 (SP3) - 10.50.6220.0 (X64) Mar 19 2015 12:32:14 Copyright (c) Microsoft Corporation Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) (Hypervisor)

    je me suis faire avoir avec la version de Microsoft server management qui est en 2016.

    je sais que PERCENTILE_CONT ne marche que pour les version de 2012.

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

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

    Informations forums :
    Inscription : Mai 2015
    Messages : 41
    Par défaut
    après plusieurs recherche j'ai trouver cette requête :
    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
    16
    WITH    
    ResultA 
    AS 
    (SELECT id_structure,annee, CAHT, ROW_NUMBER()
     OVER ( PARTITION BY id_structure,annee ORDER BY CAHT ) AS A FROM  Structure_CAHT), 
    ResultB
    AS 
    (SELECT    id_structure,annee, CAHT, A, ROW_NUMBER()
    OVER ( PARTITION BY id_structure,annee ORDER BY CAHT DESC, A DESC ) AS B FROM ResultA)
    SELECT  
    id_structure, 
    annee,
    Avg(caht) as Median
    FROM ResultB
    WHERE  Abs(A - B) <= 1
    GROUP BY id_structure,annee
    est ce que vous savez sil elle fonctionne correctement ?

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 01/11/2011, 19h21
  2. Image dans Bdd (Sql Serveur ) avec model edmx
    Par GilardeauG dans le forum Linq
    Réponses: 1
    Dernier message: 26/10/2009, 17h29
  3. Réponses: 2
    Dernier message: 18/03/2009, 09h24
  4. Dois-je choisir ADO avec Delphi 7 et sql serveur ?
    Par Alf! dans le forum Bases de données
    Réponses: 8
    Dernier message: 28/05/2004, 18h10

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