PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 PgAdmin3 » Problème Timestamp non en UTC ? » 10/02/2015 18:36:03

liofer
Réponses : 2

Bonjour,

Je souhaite créer une table 'Horodatage' contenant une colonne date et une colonne epoch correspondant au nombre de secondes depuis le début (je souhaite que epoch soit la clé primaire.
Avec un pas de temps de 1 minutes depuis 1970 à 2025.

du type

epoch; date
0;"1970-01-01 01:00:00"
60;"1970-01-01 01:01:00"
120;"1970-01-01 01:02:00"
180;"1970-01-01 01:03:00"
240;"1970-01-01 01:04:00"
300;"1970-01-01 01:05:00"

j'ai donc commencé avec une table date en timestamp withoutzone et effectuer ujn generate series pour ajouter une une minute depuis 1970 à 2025

Ensuite, j'ai crée ma table horodatage en faisant un create table qui rajoute un extract epoch etc... (j'ai pas réussi avec update)

Tout se passe pour le mieux sauf que au moment de déclarer comme clé primaire epoch, j'ai une erreur qui me fait constater que j'ai des doublons correspondant au changement d'heure.

Voilà j'ai fais le tour de la doc essayer plusieurs set time zone. Je tourne en rond.

Pouvez vous m'aider tout d'abord en m'indiquant si c'était la bonne manière ? et éventuellement la solution.

Merci Beaucoup

#2 PL/pgSQL » Sommer des pluies journaliéres » 10/04/2014 14:51:17

liofer
Réponses : 2

Bonjour,


Membre

fonction SQL (avec timestamp) pour sommer des quantités de pluies.

Bonjour,

Je cherche à écrire une fonction SQL qui me permettrait de sommer des quantités de pluies à un pas de temps journaliers

Je m'explique, à la base, j'ai un fichier .csv dans lequel j'ai une colonne de temps (du timestamp) toutes les 5, 6 ou 30min sur une année et une colonne de pluie (en mm). La fonction devrait permettre de calculer un intervalle de temps 24H et de sommer les quantités de pluies correspondantes à cet intervalle.

Exemple :
Timestamp                        Pluie (mm)
01/01/2000 00:00                  0.00
01/01/2000 09:30                  0.20
01/01/2000 09:36                  0.00                                        Date_trunc      raw_value
01/01/2000 09:42                  0.50                      En sortie,     01/01/2000    1.30 mm
01/01/2000 09:48                  0.10                                         02/01/2000    1.40 mm
01/01/2000 09:54                  0.20
01/01/2000 10:00                  0.00
01/01/2000 12:48                  0.10
01/01/2000 16:54                  0.20
02/01/2000 00:00                  0.80
02/01/2000 08:00                  0.60

C'est possible d'avoir un coup de main,
Merci bcp !

#3 Re : PL/pgSQL » fonction SQL (avec timestamp) pour sommer des quantités de pluies. » 13/03/2014 18:19:13

Merci bcp du temps que tu m'as accordé, ça marche nickel smile

Problème résolu !!!!

Encore merci !

#4 Re : PL/pgSQL » fonction SQL (avec timestamp) pour sommer des quantités de pluies. » 13/03/2014 16:51:23

le tableau final c'est exactement ce qu'il faut mais je n'arrive pas à écrire la requête sans erreur smile les deux heures ne doivent pas forcément être écrite au moins la supérieure.

      horodate              | raw_value 
------------------- ------+------
2000-01-01 09:00:00 | 0.10
2000-01-01 09:30:00 | 0.20
2000-01-01 09:42:00 | 0.50
2000-01-01 09:54:00 | 0.20
2000-01-01 10:00:00 | 1.00

Encore merci !

#5 Re : PL/pgSQL » fonction SQL (avec timestamp) pour sommer des quantités de pluies. » 13/03/2014 16:04:10

L'écriture marche très bien mais toujours ce problème de somme qui ne se fait pas sur l'intervalle de temps correcte. Si jamais quelqu'un a une idée de comment faire !? smile

Merci d'avance !

#6 Re : PL/pgSQL » fonction SQL (avec timestamp) pour sommer des quantités de pluies. » 12/03/2014 17:54:50

Merci, pour l'aide.

Dernière question du coup : la somme de fait de 9h à 9h54 (tjr pour mon exemple) mais je souhaiterai que le 10h soit inclus dans la somme et pas le 9h, c'est possible ?

Timestamp                        Pluie (mm)
01/01/2000 09:00                  0.80
01/01/2000 09:30                  0.20
01/01/2000 09:36                  0.00
01/01/2000 09:42                  0.50                      En sortie,  01/01/2000  10:00     1.20 mm
01/01/2000 09:48                  0.10
01/01/2000 09:54                  0.20
01/01/2000 10:00                  0.20

#7 Re : PL/pgSQL » fonction SQL (avec timestamp) pour sommer des quantités de pluies. » 12/03/2014 15:42:19

Merci je la teste en ce moment même !
J'ai juste une question tout fonctionne mais la somme de 9h à 10h il me l'écrit pour 09h alors que la somme doit être pour 10h. Une idée pour changer l'écriture stp ?

#8 PL/pgSQL » fonction SQL (avec timestamp) pour sommer des quantités de pluies. » 11/03/2014 20:49:16

liofer
Réponses : 19

Membre

fonction SQL (avec timestamp) pour sommer des quantités de pluies.

Bonjour,

Je cherche à écrire une fonction SQL qui me permettrait de sommer des quantités de pluies à un pas de temps horaires.

Je m'explique, à la base, j'ai un fichier .csv dans lequel j'ai une colonne de temps (du timestamp) toutes les 5, 6 ou 30min sur une année et une colonne de pluie (en mm). La fonction devrait permettre de calculer un intervalle de temps 1h et de sommer les quantités de pluies correspondantes à cet intervalle.

Exemple :
Timestamp                        Pluie (mm)
01/01/2000 09:00                  0.00
01/01/2000 09:30                  0.20
01/01/2000 09:36                  0.00
01/01/2000 09:42                  0.50                      En sortie,  01/01/2000  09:00 et 10:00     1.00 mm
01/01/2000 09:48                  0.10
01/01/2000 09:54                  0.20
01/01/2000 10:00                  0.00
...

C'est possible d'avoir un coup de main,
Merci bcp !

#9 Général » fonction SQL (avec timestamp) pour sommer des quantités de pluies. » 11/03/2014 17:46:46

liofer
Réponses : 1

Bonjour,

Je cherche à écrire une fonction SQL qui me permettrait de sommer des quantités de pluies à un pas de temps horaires.

Je m'explique, à la base, j'ai un fichier .csv dans lequel j'ai une colonne de temps (du timestamp) toutes les 5, 6 ou 30min sur une année et une colonne de pluie (en mm). La fonction devrait permettre de calculer un intervalle de temps 1h et de sommer les quantités de pluies correspondantes à cet intervalle.

Exemple :
Timestamp                        Pluie (mm)
01/01/2000 09:00                  0.00
01/01/2000 09:30                  0.20
01/01/2000 09:36                  0.00
01/01/2000 09:42                  0.50                      En sortie,  01/01/2000  09:00 et 10:00     1.00 mm
01/01/2000 09:48                  0.10
01/01/2000 09:54                  0.20
01/01/2000 10:00                  0.00
...

C'est possible d'avoir un coup de main,
Merci bcp !

#10 Re : Général » TimeStamp+sélection de données horaire » 18/02/2014 20:11:01

J'avais une erreur sur le WITH mais sur un autre forum
On m'a indiqué
la requête suivante (sélectionner les minutes à O)
En Time stamp la fonction est:
SELECT *
FROM LaTable
WHERE EXTRACT(MINUTE FROM LaColonne) = 0

ça fonctionne

#11 Général » TimeStamp+sélection de données horaire » 17/02/2014 17:53:20

liofer
Réponses : 2

Bonjour,

Nouveau sur le forum et nouveau en sql, je m'excuse de mes lacunes.
J'ai récupéré une base postgreSQL, avec des tables où il y a une valeur toutes les 5 ou 6minutes.
Les tables contiennent une colonne 'horodatage'de type TimeStamp et une collonne 'value' de type float.
Comment puis-je extraire les valeurs de ces tables avec un pas de temps horaire ?
Une données toutes les heures ? quel en serait la requête?

Merci

Pied de page des forums

Propulsé par FluxBB