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

ASP.NET MVC Discussion :

requet LinqToSql group by avec count


Sujet :

ASP.NET MVC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    consultant java
    Inscrit en
    Août 2010
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Août 2010
    Messages : 325
    Par défaut requet LinqToSql group by avec count
    bonjour,
    voila j'ai deux table :
    une table annonce qui contien un idannonce et d'autre champ
    et une table postule qui cintient le idannonce de la table annonce,

    avec d'autre champ,
    je veux avoir un affichage telque ,
    pour chaque idannonce le nombre de postule ,
    cad un group by sur l'idannonc et un count sur le nombre des postule

    ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    |  idannonce      | nb_psotule |
    =====================
    |  1              | 4          |
    ---------------------------
    | 2               | 2          |
    ---------------------------
    | 3               |  10       |
    merci ,
    j'attend votre aide

  2. #2
    Expert confirmé

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Par défaut
    Salut,

    tu es allé jeter un oeil aux samples de Linq sur le site de ms ?
    http://msdn.microsoft.com/en-us/vcsharp/aa336746

    et plus précisement:
    http://msdn.microsoft.com/en-us/vcsh...7#countGrouped

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

  3. #3
    Membre éclairé
    Homme Profil pro
    Developpeur .NET et Administrateur de bases de données
    Inscrit en
    Décembre 2010
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Developpeur .NET et Administrateur de bases de données
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2010
    Messages : 49
    Par défaut
    Bonjour MVC dev,
    ça fait deux jour que j'apprend LINQ, mais je crois que la reponse à ta demande ressemblerait à ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    From p in postule
    group p by p.idannonce into g
    select idannonce,nb_postule = g.count()

  4. #4
    Membre Expert
    Avatar de jbrasselet
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mars 2006
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 022
    Par défaut
    Je croisq ue ça ne fonctionnera pas avec la virgule
    il faut ajouter un new devant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    From p in postule
    group p by p.idannonce into g
    select new {idannonce,nb_postule = g.count()}
    mais c'est pareil cela fait seulement deus jours de mon coté

  5. #5
    Membre éclairé
    Homme Profil pro
    consultant java
    Inscrit en
    Août 2010
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Août 2010
    Messages : 325
    Par défaut
    bonsoir tout le monde,
    merci deja pour vos reponse,

    mais aufaite le souci, c'est que qu'on je met la group by,ben tout ce qui suis se souligne en rouge :

    voici mon code

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
     
     var l = (
                             from c1 in entity.annonce
                             from c in entity.entreprise
     
     
                             where c1.identreprise == id__entre
                             && c.Identreprise== c1.identreprise
                             && (c1.archive == null || c1.archive == 0)
     
                             orderby c1.date_annonce descending
                             group c1 by c1.idannonce into g
                             select new listee
                             {
                                 TypeActivite = c1.typeactivite,
                                 fonction = c1.fonction,
                                 desc_poste = c1.descriptionposte,
                                 profil_rech = c1.profilrech,
                                 type_contrat = c1.typecontrat,
                                 salaire = c1.salaire,
                                 contacte = c1.contact,
                                 date_ann = (DateTime)c1.date_annonce,
                                 id_annonce = c1.idannonce
                                 ,
                                 titre = c1.titre,
                                 RaisonSociale=c.raisonsociale,
                             nb_reponse=g.count
                             }).Take(6);
    c'est a dire , dés que je met "group by" tout les c1 dans select se souligne en rouge, et il veut plus les connaitre,

    ===> je precise que je met le tout dans une class "listee" qui contient des get et des set .
    ca marche sans aucun souci, mais avec ce group by non

    :s :s

  6. #6
    Membre Expert
    Avatar de jbrasselet
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mars 2006
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 022
    Par défaut
    Le group by est avant le orderby

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

Discussions similaires

  1. Requete avec count/group/average
    Par Devko dans le forum Linq
    Réponses: 2
    Dernier message: 12/03/2014, 11h57
  2. requete select avec count et group by
    Par paco503 dans le forum Requêtes
    Réponses: 7
    Dernier message: 06/05/2013, 17h42
  3. probleme avec une requete de group by avec having
    Par boumacmilan dans le forum Requêtes
    Réponses: 3
    Dernier message: 07/04/2012, 15h00
  4. [mysql 5] requete avec count+ having + group by
    Par epeichette dans le forum Requêtes
    Réponses: 7
    Dernier message: 29/10/2008, 19h52
  5. besoin d'aide -> requete sur 2 tables avec count()
    Par parksto dans le forum Requêtes
    Réponses: 3
    Dernier message: 20/10/2005, 19h06

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