Aide - Recherche - Membres - Calendrier
Version complète : Extraire les suites d'une requête SQL
Forum PC INpact > Systèmes, logiciels et lignes de codes > Programmation et Création web > Programmation (C, Perl, Python, Java...)
serik
Salut à tous,
pour mon taf, je dois extraire des suites d'enregistrement (comprendre compter le nombre d'enregistrement où la valeur d'un champ -X- s'incrémente de 1).
Exemple simple:
X | valeur
200 | 3156
201 | 5214
202 | 6156
203 | 6156
301 | 5615
302 | 6515
400 | 1561

Cet exemple comprend 3 suites : 200 avec 4 enregs, 301 avec 2 enregs, 400 avec 1 enregs.
Je taf sous Postgre 8.1/8.2.

Merci d'avance à tous.
theocrite
En quoi ? php ? perl ? C ? autre ? postgre pur ?


Je ne trouve pas le post très clair désolé.
lorinc
en gros, il faut que tu découpe la totalité des enregistrements en autant de blocs qu'il y a de sauts, c'est ça ?

solution simple et pas optimisée : tu parcours tous les enregistrement en les ajoutant à la liste courante tant que ça s'incrémente de 1. Dès que ça ne s'incrémente pas de 1, tu créé une nouvelle liste qui devient la liste courante.

clindoeil.gif
serik
QUOTE(lorinc @ 21-03-2008 18:58:52) [snapback]2088965[/snapback]
en gros, il faut que tu découpe la totalité des enregistrements en autant de blocs qu'il y a de sauts, c'est ça ?

solution simple et pas optimisée : tu parcours tous les enregistrement en les ajoutant à la liste courante tant que ça s'incrémente de 1. Dès que ça ne s'incrémente pas de 1, tu créé une nouvelle liste qui devient la liste courante.

clindoeil.gif

Oui c'est le traitement à faire, mais comment le faire en postgres pur? J'ai fait très peu de plsql (oracle) et pas du tout de pgplsql. La meilleure solution serait-elle d'écrire une fonction pgplsql?
Question subsidiaire : les enregistrements provenant d'un GPS, il se peut que un enregistrement ne soit pas comptabilisé, et donc on cherche à avoir les suites à n enregisrement près (ex : 1,2,3,5,6 ne ferait qu'une seule suite).

Merci & cordialement,
FL
Mephisto
SELECT toto FROM tata WHERE toto LIKE '1__'; ou '2__', .... suivant ce que tu veux, non ?
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2008 Invision Power Services, Inc.