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 :

Error avec le clause over


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    dba
    Inscrit en
    Décembre 2016
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Jura (Franche Comté)

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

    Informations forums :
    Inscription : Décembre 2016
    Messages : 119
    Par défaut Error avec le clause over
    Bonjour a tous

    j'ai un table nommé production je veux afficher devant chaque colonne le nbre distinct des produit dans mon cas ca devrai afficher le numéro '4'
    Pour cela j'ai penser a la clause over
    mais j'ai lorsque j'ai essayer ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select *,count(distinct(produit)) over(partition by Produit ) from Production
    il m'affiche cette erreur L'utilisation de DISTINCT n'est pas autorisée avec la clause OVER

    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
    17
     
    create table Production 
    (id int,
    Produit varchar(2)
    )
     
     
     
    insert into Production  values('1','A')
    insert into Production  values('2','B')
    insert into Production  values('3','C')
    insert into Production  values('4','D')
    insert into Production  values('4','D')
    insert into Production  values('5','D')
    insert into Production  values('6','A')
     
    select *,count(produit) over(partition by Produit ) from Production
    Qui peut m'aider a mon problème ?

    merci a tous
    Images attachées Images attachées  

  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,

    Vous pouvez passer par une sous requête scalaire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    select *, (SELECT COUNT(DISTINCT produit) FROM production) 
    FROM production

  3. #3
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    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 136
    Par défaut
    Si cette syntaxe était acceptée, l'expression count(distinct(Produit)) over(partition by Produit ) te retournerait toujours 1 (je te laisse y réfléchir )
    Dans ton cas, tu sembles pouvoir te contenter d'un simple count(*) over(partition by Produit ) si tu veux compter le nombre de lignes par Produit.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

Discussions similaires

  1. [Ole Excel]OLE Error avec numberformat
    Par ired dans le forum API, COM et SDKs
    Réponses: 5
    Dernier message: 13/03/2006, 20h55
  2. Réponses: 9
    Dernier message: 03/03/2006, 10h42
  3. Pb avec la clause ORDER BY...
    Par Karibou dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 16/08/2005, 14h48
  4. Runtime error avec UDF/DLL
    Par pram dans le forum SQL
    Réponses: 6
    Dernier message: 22/04/2005, 10h30
  5. [super requete] Dumper un model avec une clause where
    Par elievar dans le forum Langage SQL
    Réponses: 3
    Dernier message: 16/03/2005, 17h05

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