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

PostgreSQL Discussion :

Filtre sur donnée de type tableau de bigint


Sujet :

PostgreSQL

  1. #1
    Membre actif
    Profil pro
    Gestionnaire de données
    Inscrit en
    Mars 2006
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestionnaire de données
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 356
    Points : 248
    Points
    248
    Par défaut Filtre sur donnée de type tableau de bigint
    Bonjour,
    Dans une requête SQL , j'obtiens parmi les colonnes une colonne de type bigint[]

    exemple :
    id_matable macolonne (bigint[])
    1 {1,2,1}
    2 {1,2,3}
    3 {9,9,3}

    Je voudrais ajouter un filtre sur cette colonne : garder uniquement les lignes où les valeurs apparaissent au moins 2 fois.
    Dans mon exemple on garderait les lignes 1 et 3 car il y a des répétitions

    Est-ce faisable ? Que faut-il mettre dans le WHERE ?

    Merci pour vos idées

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    bonjour,


    quelle est la requête initiale ?

  3. #3
    Membre actif
    Profil pro
    Gestionnaire de données
    Inscrit en
    Mars 2006
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestionnaire de données
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 356
    Points : 248
    Points
    248
    Par défaut
    D'abord merci de vous intéresser à ma question.

    C'est une requête assez compliquée ( des with , union ,...) fourni par un
    collègue et sur laquelle je voudrais ajouter un nouveau filtre sur le WHERE de la ligne 112.
    Je la mets en pièce jointe.

    Je mets aussi une capture d'un extrait de la sortie

    Oups j'ai oublié de préciser : c'est la colonne id_analyse dont je parle
    Images attachées Images attachées  
    Fichiers attachés Fichiers attachés

  4. #4
    Membre actif
    Profil pro
    Gestionnaire de données
    Inscrit en
    Mars 2006
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestionnaire de données
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 356
    Points : 248
    Points
    248
    Par défaut
    Je vais essayer d'écrire une fonction sql ou plpgsql avec le tableau en entrée , et vrai/faux en sortie

  5. #5
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 817
    Points
    17 817
    Par défaut
    Une piste peut-être :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
      select id, col
        from (values (1, ARRAY[1,2,1])
                   , (2, ARRAY[1,2,3])
                   , (3, ARRAY[9,9,3])
             ) as sr (id, col)
    group by id, col, unnest(col)
      having count(*) > 1;
     
    ID COL     
    -- -------
     1 {1,2,1}
     3 {9,9,3}

Discussions similaires

  1. Réponses: 6
    Dernier message: 12/07/2010, 16h38
  2. Réponses: 0
    Dernier message: 17/03/2010, 17h45
  3. Filtre sur colonne de type "name" + valeur demandée à l'écran
    Par jeanphi45 dans le forum Développement de jobs
    Réponses: 1
    Dernier message: 04/03/2010, 16h21
  4. Filtre sur données
    Par almoha dans le forum Langage
    Réponses: 2
    Dernier message: 03/02/2010, 15h10
  5. filtre sur donnée numérique
    Par Daranc dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 10/04/2007, 17h25

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