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

Android Discussion :

Requête SQLite avec SUM sur un champs


Sujet :

Android

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2011
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 312
    Points : 74
    Points
    74
    Par défaut Requête SQLite avec SUM sur un champs
    Bonjour

    Sur cette requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public Cursor fetchAllTotalAn(String annee) {
            return mDb.query(TABLE_AN_COURS, new String[] {KEY_ROWID_AC, KEY_CA_AC}, 
            		KEY_AN_AC + "='" + annee + "'", null, null, null, null);
        }
    Je voudrais obtenir la SUM du champs KEY_CA_AC
    Pouvez-vous me dire comment faire
    Merci

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Février 2011
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 312
    Points : 74
    Points
    74
    Par défaut
    Bonjour

    Pouvez-vous m'indiquer ou trouver un tuto ou un lien pour résoudre ce problème

    Merci

  3. #3
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    Bonjour,

    Je n'ai pas testé mais cela devrait y ressembler .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return mDb.rawQuery("SELECT SUM(" + KEY_CA_AC +") FROM " + TABLE_AN_COURS, null);
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    return mDb.query(TABLE_AN_COURS, "SUM(" + KEY_CA_AC +")", 
            		KEY_AN_AC + "='" + annee + "'", null, null, null, null);
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Février 2011
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 312
    Points : 74
    Points
    74
    Par défaut
    Bonjour
    Merci pour ta réponse
    Si je prends le deuxième exemple, parce que j'ai un where
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    public Cursor fetchAllTotalAn(String annee) {
        	return mDb.query(TABLE_AN_COURS, "SUM(" + KEY_CA_AC +")",
    query est surligné avec ce message :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    The method query(String, String[], String, String[], String, String, String) in the type SQLiteDatabase is not applicable for the arguments (String, String, String, null, null, null, null)

  5. #5
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    return mDb.query(TABLE_AN_COURS, new String[] {"SUM(" + KEY_CA_AC +")"}, 
            		KEY_AN_AC + "='" + annee + "'", null, null, null, null);
    Si je prends le deuxième exemple, parce que j'ai un where
    Euh tu peux utiliser la première aussi il te suffit de mettre ton where dans ta requête SQL .
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Février 2011
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 312
    Points : 74
    Points
    74
    Par défaut
    Oui, mais je ne vois pas comment ajouter le where

  7. #7
    Membre actif
    Inscrit en
    Décembre 2008
    Messages
    280
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 280
    Points : 261
    Points
    261
    Par défaut
    Bonjour,

    Le 3ème paramètre te permet de spécifier une colonne, et la 4eme te permet de donner la valeur associée !

    Donc soit tu fais tout d'un coup dans la 3ème comme à fait feadorin, ou tu fait en 2 partie avec les paramètre 3 et 4 !
    Paye Tes Dettes - Applciation android.

    DevHackSecure - Pense bête d'un étudiant en informatique - Tutos DEV

    " I also realize that _everybody_ thinks that they are right, and that they are supported by all other right-thinking people. That's just how people work. We all think we're better than average." Linus Torvalds

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Février 2011
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 312
    Points : 74
    Points
    74
    Par défaut
    Excuse moi, je ne comprends pas, peux-tu me donner la correction car je galère la dessus
    Merci pour ton aide

  9. #9
    Membre actif
    Inscrit en
    Décembre 2008
    Messages
    280
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 280
    Points : 261
    Points
    261
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    return mDb.query(TABLE_AN_COURS, new String[] {"SUM(" + KEY_CA_AC +")"}, 
            		KEY_AN_AC + "='" + annee + "'", null, null, null, null)
    La clause where : KEY_AN_AC + "='" + annee + "'"

    Donc soit tu mets tout d'une coup comme ici, colonne (KEY_AN_AC) et valeur ( + "='" + annee + "'"), soit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    return mDb.query(TABLE_AN_COURS, new String[] {"SUM(" + KEY_CA_AC +")"}, 
            		KEY_AN_AC, annee, null, null, null)
    Si tu veux plusieurs arguments dans ton where, il faut utiliser des tableau de string.
    Paye Tes Dettes - Applciation android.

    DevHackSecure - Pense bête d'un étudiant en informatique - Tutos DEV

    " I also realize that _everybody_ thinks that they are right, and that they are supported by all other right-thinking people. That's just how people work. We all think we're better than average." Linus Torvalds

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Février 2011
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 312
    Points : 74
    Points
    74
    Par défaut
    Merci pour ta réponse
    mais il y a un problème, j'ai corrigé mon code comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public Cursor fetchAllTotalAn(String annee) {
        	return mDb.query(TABLE_AN_COURS, new String[] {"SUM(" + KEY_CA_AC +")"}, 
            		KEY_AN_AC, annee, null, null, null);
        }
    Et j'ai ce message sur query

    The method query(String, String[], String, String[], String, String, String) in the type SQLiteDatabase is not applicable for the arguments (String, String[], String, String, null, null, null)

    Si je suis la procédure conseillée cela me corrige le code comme suit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public Cursor fetchAllTotalAn(String[] annee) {
        	return mDb.query(TABLE_AN_COURS, new String[] {"SUM(" + KEY_CA_AC +")"}, 
            		KEY_AN_AC, annee, null, null, null);
     
    Est-ce bien cela ?
        }

  11. #11
    Membre actif
    Inscrit en
    Décembre 2008
    Messages
    280
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 280
    Points : 261
    Points
    261
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public Cursor fetchAllTotalAn(String annee) {
        	return mDb.query(TABLE_AN_COURS, new String[] {"SUM(" + KEY_CA_AC +")"}, 
            		KEY_AN_AC,  new String[] {annee}, null, null, null);
        }
    essaie ça !
    Paye Tes Dettes - Applciation android.

    DevHackSecure - Pense bête d'un étudiant en informatique - Tutos DEV

    " I also realize that _everybody_ thinks that they are right, and that they are supported by all other right-thinking people. That's just how people work. We all think we're better than average." Linus Torvalds

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Février 2011
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 312
    Points : 74
    Points
    74
    Par défaut
    Merci pour ton aide
    Plus d'erreur

  13. #13
    Membre actif
    Inscrit en
    Décembre 2008
    Messages
    280
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 280
    Points : 261
    Points
    261
    Par défaut
    Au fait pour info :

    L'erreur viens du fait que la fonction attend un tableau de string pour le 4ème paramètre de la fonction, et vu qu'on avais mis juste "annee" ça équivaut à un string et non à un tableau -> string [] !

    Et de rien le forum est fait pour ça !
    Paye Tes Dettes - Applciation android.

    DevHackSecure - Pense bête d'un étudiant en informatique - Tutos DEV

    " I also realize that _everybody_ thinks that they are right, and that they are supported by all other right-thinking people. That's just how people work. We all think we're better than average." Linus Torvalds

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

Discussions similaires

  1. Requête avec ET sur 1 champs
    Par papaoursold dans le forum Requêtes et SQL.
    Réponses: 11
    Dernier message: 22/05/2013, 18h34
  2. [MySQL] Requête avec condition sur un champ
    Par nonhosonno dans le forum Langage SQL
    Réponses: 2
    Dernier message: 26/02/2007, 14h00
  3. Requete avec filtre sur un champ
    Par podz dans le forum Langage SQL
    Réponses: 7
    Dernier message: 09/02/2005, 14h37
  4. Recherche d'un mot avec LIKE sur plusieurs champs
    Par reynhart dans le forum Langage SQL
    Réponses: 16
    Dernier message: 26/11/2004, 17h41
  5. Requête bizarre ... Order by sur 2 champs
    Par MatthieuQ dans le forum Langage SQL
    Réponses: 9
    Dernier message: 10/06/2004, 14h38

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