Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL > Requêtes
Requêtes Forum d'entraide sur les requêtes SQL spécifiques à PostgreSQL, les triggers, les vues, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/01/2012, 14h21   #1
Futur Membre du Club
 
Tulate Leke
Inscription : janvier 2010
Messages : 53
Détails du profil
Informations personnelles :
Nom : Tulate Leke

Informations forums :
Inscription : janvier 2010
Messages : 53
Points : 15
Points : 15
Par défaut Récupérer la valeur d'un count

Bonjour à tous,

j'aimerai afficher sur ma page web le résultat d'une requête utilisant la fonction COUNT, seulement je ne sais pas comment récupérer ce résultat à partir de ma requête. J'ai cherché sur internet e je n'ai trouvé que des exemples avec le php (que je ne maitrise pas), je travail en python.

Voici ma requête

Code :
1
2
3
4
  try : 
        cur.execute("select count (distinct gene.nom) from public.gene, public.voisinnage where public.gene.idensembl = public.voisinnage.idensembl and nbcopies >'"+valeurs+"'")
    except Exception, e:
        print e
j'ai essayé cette solution :
Code :
SELECT COUNT(DISTINCT gene.nom) AS compteur FROM ....";
en définissant dans mon code une variable compteur, mais sans succès.

Peu être y a t'il une autre méthode.

Merci à vous
tom77380 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2012, 14h43   #2
Expert Confirmé
 
Homme
Inscription : mai 2002
Messages : 1 655
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2002
Messages : 1 655
Points : 2 657
Points : 2 657
bonjour,

Vive les injections SQL avec votre code ...
http://love-python.blogspot.com/2010...hon-using.html

Sinon pour votre question (ainsi que celle d'avant) ca n'a rien avoir avec le forum postgres, mais bien un forum python qu'il vous faut.

Bref, il va falloir que vous fetchiez les lignes de votre curseur pour avoir le résultat.
punkoff est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2012, 14h57   #3
Futur Membre du Club
 
Tulate Leke
Inscription : janvier 2010
Messages : 53
Détails du profil
Informations personnelles :
Nom : Tulate Leke

Informations forums :
Inscription : janvier 2010
Messages : 53
Points : 15
Points : 15
Bonjour,

merci pour votre réponse, et désolé pour l'emplacement innaproprié, j'avais en effet hésité entre les 2 sections. Je vais lire cet article pour améliorer mon code.
En fait je débute dans la manipulation des bases de données en Python, la méthode fetchone() renvoie bien les différents tuples qui satisfont ma requête ? Je suis désolé je ne suis pas sur de bien comprendre votre réponse. Je pensais que le résultat de cette requête ne comptait qu'une seule "ligne".
tom77380 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2012, 15h29   #4
Expert Confirmé
 
Homme
Inscription : mai 2002
Messages : 1 655
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2002
Messages : 1 655
Points : 2 657
Points : 2 657
Bonjour,

Oui votre requête ne va retourner qu'une seule ligne.

Pour les méthodes à utiliser je ne sais pas, mais vous devriez trouver votre bonheur dans la doc de votre lib
http://initd.org/psycopg/docs/cursor.html ?
punkoff est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2012, 15h54   #5
Futur Membre du Club
 
Tulate Leke
Inscription : janvier 2010
Messages : 53
Détails du profil
Informations personnelles :
Nom : Tulate Leke

Informations forums :
Inscription : janvier 2010
Messages : 53
Points : 15
Points : 15
Merci à vous j'ai réussi à résoudre mon problème et j'ai mieux compris le code que j'utilisais grâce à la documentation, j'ai simplement afficher l'unique ligne récupérer par la méthode fetchone, le résultat n’apparaît pas encore comme je voudrai [76L] au lieu de 76, mais je pense être sur la bonne voie

Le code au cas où ça intéressait quelqu'un :

Code :
1
2
3
4
5
6
7
8
9
 try : 
        cur.execute("select count (distinct gene.nom) from public.gene, public.voisinnage where public.gene.idensembl = public.voisinnage.idensembl and nbcopies >'"+valeurs+"'")
    except Exception, e:
        print e
 
    row = cur.fetchone();
    print ""+str(row);
    cur.close();        
    connecteur.close()
tom77380 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h14.


 
 
 
 
Partenaires

Hébergement Web