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 :

count+sum sur une ligne


Sujet :

Langage SQL

  1. #1
    Candidat au Club
    Homme Profil pro
    web
    Inscrit en
    Novembre 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : Cameroun

    Informations professionnelles :
    Activité : web
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2019
    Messages : 2
    Points : 3
    Points
    3
    Par défaut count+sum sur une ligne
    Bonjour à tous,
    Bon je viens demander de l'aide car je suis en train de me prendre la tête sur une requête COUNT + SUM. La voici:


    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
        // calcul du volume de lead pour le pid séléctionné + calcul des 70%
        $req2 = $bdd->prepare('SELECT COUNT(*), SUM(id) FROM user WHERE pid_id=:pid_id AND reg_date2>=:date_start AND reg_date2<=:date_end');
        $req2-> execute(array('pid_id' => $_POST['pid_id'],
                              'date_start' => $_POST['datepicker'],
                              'date_end' => $_POST['datepicker2'])) or die(print_r($req2(errorInfo())));
        while ($donnees = $req2->fetch())
        {echo $donnees['nb_lead_recu_mois'];}
        $req2->closeCursor();
    ?>

    J'ai d'autres requête avant sur lesquelles je fait des COUNT et tout fonctionne. Sur chaque ligne de mon tableau mes requêtes me compte bien combien de personnes se sont enregistrés chaque jour.

    Ce que je veux faire c'est une ligne en bas qui me fait la somme de toutes les lignes au dessus mais je n'y arrive pas.

    Une idée ?

    Merci d'avance,

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 766
    Points : 52 563
    Points
    52 563
    Billets dans le blog
    5
    Par défaut
    Un SGBD n'est pas un tableur. Néanmoins vous pouvez calculer la somme globale par une fonction de fenêtrage et rajouter cosmétiquement une ligne à votre tableau côté applicatif.

    Votre requête devrait être :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT COUNT(*), SUM(id), SUM(COUNT(*)) OVER() AS SUM_COUNT, SUM(SUM(id)) OVER() AS SUM_SUM FROM user WHERE pid_id=:pid_id AND reg_date2>=:date_start AND reg_date2<=:date_end
    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre chevronné
    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Décembre 2019
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Décembre 2019
    Messages : 1 138
    Points : 1 918
    Points
    1 918
    Par défaut
    Bonjour,

    Pourriez-vous donner un exemple de jeu de données avec le résultat attendu? Car :

    Ce que je veux faire c'est une ligne en bas qui me fait la somme de toutes les lignes au dessus mais je n'y arrive pas.
    De quelles lignes s'agit-il? La requête que vous donnez avec COUNT(*) et le SUM(id) ne va donner qu'une seule ligne.

    Par ailleurs, êtes vous sûr de SUM(id) ? Sommer des ids me semble bizarre...

  4. #4
    Membre actif Avatar de medardhino85
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2020
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2020
    Messages : 15
    Points : 234
    Points
    234
    Par défaut
    Bonjour
    en fournissant un jeu de donnée ainsi que les resultats attendus on pourra mieux t'aider

    pourquoi veux tu effectuer la somme sur les ids?

    parce que cette colonne est utilisée pour generér les valeurs de clé

    voir ci-dessus

    https://docs.microsoft.com/fr-fr/sql...l-server-ver15

    merci

  5. #5
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    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 080
    Points : 30 803
    Points
    30 803
    Par défaut
    Ce n'est pas parce qu'une colonne a été nommée id qu'elle contient obligatoirement un identifiant...
    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.

  6. #6
    Membre actif Avatar de medardhino85
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2020
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2020
    Messages : 15
    Points : 234
    Points
    234
    Par défaut
    al1_24 c'est vrai
    et c'est la raison pour laquelle je lui demande un jeu de donnée avec les resultats attendus pour avoir une idée claire de son besoin afin lui proposé adapté
    merci

Discussions similaires

  1. Réponses: 13
    Dernier message: 12/07/2005, 10h14
  2. div et innerHTML : tout sur une ligne?
    Par LineLe dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 04/04/2005, 11h15
  3. nombres d'images sur une lign automatique
    Par AnKhCHFR dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 10/03/2005, 11h52
  4. Lien sur une ligne de tableau
    Par Oluha dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 09/02/2005, 11h36
  5. pointer sur une ligne d'un TStringGrid
    Par jeannot27 dans le forum C++Builder
    Réponses: 7
    Dernier message: 20/10/2004, 10h56

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