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 22/06/2003, 12h07   #1
Invité de passage
 
Inscription : mai 2003
Messages : 12
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 12
Points : 4
Points : 4
Par défaut [RESOLU]Recuperation derniere date

Bonjour, je cherche à récuperer dans une de mes tables la ligne corrspondant à la dernière date entrée (dernière date, dernière heure,...)
Mon champs date est au format timestamp Quelqu'un peut-il m'aider ?
Fyna est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/06/2003, 12h28   #2
Candidat au titre de Membre du Club
 
Homme José
Un peu de tous ..
Inscription : juin 2003
Messages : 21
Détails du profil
Informations personnelles :
Nom : Homme José
Âge : 55
Localisation : Belgique

Informations professionnelles :
Activité : Un peu de tous ..
Secteur : Associations - ONG

Informations forums :
Inscription : juin 2003
Messages : 21
Points : 13
Points : 13
:

sans rien connaitre, je regarderai

1 en indexant le champ et prendre le dernier (ASC) ou premier si (DESC)
2 soit avec max ( date) a essayé


josé

un autre chercheur qui ne trouve pas
josoft est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/06/2003, 18h27   #3
Candidat au titre de Membre du Club
 
Inscription : mai 2002
Messages : 14
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 14
Points : 11
Points : 11
Bonjour,

Code :
SELECT MAX(date) FROM maTable
Cela ne fonctionne pas sur un timestamp ??? .....
petit-ourson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2003, 15h15   #4
Membre actif
 
Inscription : juin 2003
Messages : 209
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 209
Points : 189
Points : 189
et si tu veux le record....

Code :
1
2
 
SELECT * FROM matable WHERE madate = (SELECT max(madate) FROM matable);
A+ Jérôme
Bouboubou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2003, 15h54   #5
Invité de passage
 
Inscription : mai 2003
Messages : 12
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 12
Points : 4
Points : 4
Merci , effectivement ça fonctionne, il suffisait d'y penser !!!

Sinon il y a un moyen de récupérer de cette manière les 10 dernières ???

Merci beaucoup !!
Fyna est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2003, 21h00   #6
Membre actif
 
Inscription : juin 2003
Messages : 209
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 209
Points : 189
Points : 189
Pas facile... si tu peux te baser sur la clé ou autre attibuts qui peuvent t'aider, cela peut fonctionner, sinon c'est pas facile de faire ce genre de requête. Mais je réfléchi et je te redirai...

A+ Jérôme
Bouboubou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2003, 21h03   #7
Membre habitué
 
Inscription : mai 2003
Messages : 145
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 145
Points : 146
Points : 146
Citation:
Envoyé par Fyna
Merci , effectivement ça fonctionne, il suffisait d'y penser !!!

Sinon il y a un moyen de récupérer de cette manière les 10 dernières ???

Merci beaucoup !!
si tu rajoutes à ela les fonctionalitès de ta techno, par exemple PHP cela devient un jeu d'enfant, puisuqe tu peux récupérer ton résultat dans un tableau.
wello00 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2003, 08h30   #8
Membre actif
 
Inscription : juin 2003
Messages : 209
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 209
Points : 189
Points : 189
Mais si tu fais cela chez le client, se sera tjs plus lent... donne moi la description de ta table et je regarde...

A+
Bouboubou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2003, 09h58   #9
Membre habitué
 
Inscription : mai 2003
Messages : 145
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 145
Points : 146
Points : 146
Citation:
Envoyé par Bouboubou
Mais si tu fais cela chez le client, se sera tjs plus lent... donne moi la description de ta table et je regarde...

A+
PHP est exécuté coté serveur!
wello00 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2003, 11h17   #10
Membre actif
 
Inscription : juin 2003
Messages : 209
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 209
Points : 189
Points : 189
oui d'accord si le serveur web est le même que le serveur de BD (postgreSQL)! Pas tjs le cas! Pis même dans ce cas là, je pense qu'une procédure stockée est plus rapide que si c'est le client qui le fait les contrôles!

A+
Bouboubou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2003, 17h58   #11
Invité de passage
 
Inscription : mai 2003
Messages : 12
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 12
Points : 4
Points : 4
Et bien non, je n'utilise pas la techologie php ... ma table est comme suit :

Code :
1
2
3
4
5
6
TABLE mesure(
                       id_mesure integer,
                       date_mesure timestamp,
                       valeur_mesure varchar,
                       id_equipement FOREIGN KEY integer
                       id_type_mesure FOREIGN KEY integer)
Voilà ma table, en fait j'accède à la table par JDBC et donc j'ai fais un select qui récupère toutes les valeurs correspondant à toutes les dates d'un equipement en les classant et c'est dans ma méthode Java que je fais un "for" pour récupérer seulement les 10 dernières ...

Y'a-t-il un méthode plus efficace que de tous récupérer ? en faisant la selection dans la requête SQL est-ce possible ???

Toutes vos suggestions sont les bienvenues !!!
Merci !...
Fyna est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2003, 09h00   #12
Membre actif
 
Inscription : juin 2003
Messages : 209
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 209
Points : 189
Points : 189
Hello encore moi,

Voilà j'ai trouvé ta solution: sous PostgreSQL, il y a un mot clé pour limiter les nombre d'enregistrements.


Code :
SELECT * FROM mesure oder BY date_mesure LIMIT 10;

Voilà....

A+ Jérôme
Bouboubou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2003, 10h37   #13
Membre actif
 
Inscription : juin 2003
Messages : 209
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 209
Points : 189
Points : 189
Encore un mot pour ceux qui veulent faire cela sous d'autre SGBD!

Informix:
Code :
SELECT first 10 FROM TABLE
DB2:
Code :
SELECT FROM TABLE fetch first 10 rows only
Microsoft SQL Server et Access:
Code :
SELECT top 10 FROM TABLE
MySQL et PostgreSQL:
Code :
SELECT FROM TABLE LIMIT 10
Oracle :
Code :
SELECT * FROM TABLE WHERE rownum <= 10
A+ Jérôme
Bouboubou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2003, 17h07   #14
Invité de passage
 
Inscription : mai 2003
Messages : 12
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 12
Points : 4
Points : 4
Merci beaucoup, qu'est-ce que ça marche bien !!

Fyna 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 20h21.


 
 
 
 
Partenaires

Hébergement Web