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

Requêtes PostgreSQL Discussion :

Statistiques avec des varchar


Sujet :

Requêtes PostgreSQL

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2009
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 24
    Points : 19
    Points
    19
    Par défaut Statistiques avec des varchar
    Bonjour,

    j'ai plusieurs champs sur lequel je souhaite effectuer des statistiques. Mais comme ces champs contiennent des données biologiques on trouve des 'NA' pour les données manquantes et donc les champs ont été définis comme des varchar.

    Seulement maintenant ça me pose des problèmes pour faire des statistiques.
    Un exemple de requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select distinct number from generation where number IN (SELECT max(number) from generation where number !='NA' )
    ce qui renvoit 99 par exemple au lieu de 356. (normal étant donné que ce sont des varchar)

    Ma question est donc comment transformer ma requête pour que le contenu du champ soit considérer comme un int et que je puisse faire des statistiques.

    Je ne peux absolument pas changer le type du champ.

    Merci par avance

  2. #2
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corse (Corse)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 476
    Points : 831
    Points
    831
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DISTINCT number FROM generation WHERE number IN (SELECT max(number::integer) FROM generation WHERE number !='NA' )

  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2009
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 24
    Points : 19
    Points
    19
    Par défaut
    Bonjour,

    Merci beaucoup pour la réponse, mais j'ai un message d'erreur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ERREUR: l'opérateur n'existe pas : character varying = integer HINT: Aucun opérateur ne correspond au nom donné et aux types d'arguments. Vous devez ajouter des conversions explicites de type.

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Points : 2 890
    Points
    2 890
    Par défaut
    C'est parce que dans number IN (...), number est toujours un champ texte alors que la sous-requête du IN() produit un champ numérique.
    Mais comme cette imbrication de requête n'a pas de sens, autant l'enlever, et faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT max(number::integer) FROM generation WHERE number !='NA'

  5. #5
    Membre à l'essai
    Inscrit en
    Novembre 2009
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 24
    Points : 19
    Points
    19
    Par défaut
    Merci beaucoup ça marche nickel !

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

Discussions similaires

  1. [9.3] Performance avec des varchar(255)
    Par joel74 dans le forum PostgreSQL
    Réponses: 11
    Dernier message: 18/03/2015, 21h32
  2. Réponses: 1
    Dernier message: 29/05/2014, 11h31
  3. statistique avec des requetes HQL
    Par info20111 dans le forum Général Java
    Réponses: 0
    Dernier message: 18/05/2013, 10h01
  4. Réponses: 4
    Dernier message: 15/04/2011, 17h26
  5. Générer des statistiques avec graphiques, histogrammes
    Par nico33307 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 28/11/2005, 16h03

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