Selctionner les 20 derniers enregistrements
idfx
-
batmat Messages postés 1871 Statut Membre -
batmat Messages postés 1871 Statut Membre -
Sous access, j'ai une base formée d'enregistrements dont notamment une colonne composée d'heures classées chronoliquement et je voudrais selectionner uniquement les 20 dernieres heures enregistrées.
merci de votre aide
merci de votre aide
A voir également:
- Selctionner les 20 derniers enregistrements
- Telecharger fl studio 20 pour pc gratuit complet - Télécharger - Édition & Montage
- Vos derniers messages svp - Guide
- Comment mettre une note sur 20 - Forum Bureautique
- Code postal 20 - Télécharger - Vie quotidienne
- Mettre une note sur 20 ✓ - Forum Bureautique
14 réponses
Bonjour...
Jette un oeil ici a tous hazard:
http://www.commentcamarche.net/ccmguide/ccmcharte.php3
Sinon sous access ce que tu veux faire est faisable mais ce n'est pas du SQL normalisé...
En fait tu fais ta selection avec la date en tri descendant
tu a donc les dernieres heures enregistrées en haut, ensuite une fois que cette requette marche l'astuce consiste a utiliser le mot clé TOP
ie : SELECT TOP 20 [...] ORDERBY date DESC;
voili voilou
@++
Na kaer eo va Breizh,
gand ar mor glaz èn-dro dezi !
Jette un oeil ici a tous hazard:
http://www.commentcamarche.net/ccmguide/ccmcharte.php3
Sinon sous access ce que tu veux faire est faisable mais ce n'est pas du SQL normalisé...
En fait tu fais ta selection avec la date en tri descendant
tu a donc les dernieres heures enregistrées en haut, ensuite une fois que cette requette marche l'astuce consiste a utiliser le mot clé TOP
ie : SELECT TOP 20 [...] ORDERBY date DESC;
voili voilou
@++
Na kaer eo va Breizh,
gand ar mor glaz èn-dro dezi !
re: idfx
heu la je suis pas sure d'avoir bien saisi...
tu veux que les 56 champs s'affichent ? si c'est ca:
SELECT TOP 20 * FROM ta_tableGROUP BY le_champ_heure DESC
Sinon c'est que je reponds a coté de la plaque :-)
@++
Na kaer eo va Breizh,
gand ar mor glaz èn-dro dezi !
heu la je suis pas sure d'avoir bien saisi...
tu veux que les 56 champs s'affichent ? si c'est ca:
SELECT TOP 20 * FROM ta_tableGROUP BY le_champ_heure DESC
Sinon c'est que je reponds a coté de la plaque :-)
@++
Na kaer eo va Breizh,
gand ar mor glaz èn-dro dezi !
la pseudo colonne d'oracle rownum est présente sous access ?
@++
Poster, poster encore et toujours :-)
@++
Poster, poster encore et toujours :-)
MErci pour ta réponse j'ai un peu de mal à la faire fonctionner ; en fait avec le "select top 20" j'arrive aux 20 dernieres heures de mon dernier champ (qui se nomme VIE = dernier champ par ordre alphabétique) , ma table d'origine contient 55 autres champs comme VIE et il faut que je resorte les 20 dernieres heures associées =>56 champs "Comstcok" * 20 "heure" associée..
heure Comstock Milieu
17:19:00 VIE 18,8050003051758
17:17:00 VIE 18,8450012207031
17:15:00 VIE 18,8050003051758
17:11:00 VIE 18,8199996948242
17:03:00 VIE 18,8450012207031
17:01:00 VIE 18,8349990844727
16:58:00 VIE 18,7649993896484
16:56:00 VIE 18,7350006103516
16:49:00 VIE 18,7449989318848
16:46:00 VIE 18,7249984741211
16:45:00 VIE 18,6949996948242
16:43:00 VIE 18,685001373291
16:38:00 VIE 18,5999984741211
16:36:00 VIE 18,6149997711182
16:34:00 VIE 18,5799999237061
16:29:00 VIE 18,5950012207031
16:22:00 VIE 18,6199989318848
16:18:00 VIE 18,5849990844727
16:16:00 VIE 18,6450004577637
16:13:00 VIE 18,6650009155273
Excuses moi pour ces explications mais je suis un débutant un peu perdu dans la jungle du sql & d'access; merci encore de ton aide
heure Comstock Milieu
17:19:00 VIE 18,8050003051758
17:17:00 VIE 18,8450012207031
17:15:00 VIE 18,8050003051758
17:11:00 VIE 18,8199996948242
17:03:00 VIE 18,8450012207031
17:01:00 VIE 18,8349990844727
16:58:00 VIE 18,7649993896484
16:56:00 VIE 18,7350006103516
16:49:00 VIE 18,7449989318848
16:46:00 VIE 18,7249984741211
16:45:00 VIE 18,6949996948242
16:43:00 VIE 18,685001373291
16:38:00 VIE 18,5999984741211
16:36:00 VIE 18,6149997711182
16:34:00 VIE 18,5799999237061
16:29:00 VIE 18,5950012207031
16:22:00 VIE 18,6199989318848
16:18:00 VIE 18,5849990844727
16:16:00 VIE 18,6450004577637
16:13:00 VIE 18,6650009155273
Excuses moi pour ces explications mais je suis un débutant un peu perdu dans la jungle du sql & d'access; merci encore de ton aide
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Rien ne vaut un exemple ; ci dessous un extrait de ma table d'origine : mon probleme c'est d'obtenir les 20 dernieres heures de "VIE" (de 17h19 à 16h13) et les 20 dernières heures de "UG" (de 17h19 à 16h18) ; A partir de là tu feras de moi un être heureux
Comstock Milieu Bid Time Ask Time
VIE 18,8050003051758 17:19:00 17:19:00
VIE 18,8450012207031 17:17:00 17:17:00
VIE 18,8050003051758 17:15:00 17:15:00
VIE 18,8199996948242 17:11:00 17:11:00
VIE 18,8450012207031 17:03:00 17:03:00
VIE 18,8349990844727 17:01:00 17:01:00
VIE 18,7649993896484 16:58:00 16:58:00
VIE 18,7350006103516 16:56:00 16:56:00
VIE 18,7449989318848 16:49:00 16:49:00
VIE 18,7249984741211 16:46:00 16:46:00
VIE 18,6949996948242 16:45:00 16:45:00
VIE 18,685001373291 16:43:00 16:43:00
VIE 18,5999984741211 16:38:00 16:38:00
VIE 18,6149997711182 16:36:00 16:36:00
VIE 18,5799999237061 16:34:00 16:34:00
VIE 18,5950012207031 16:29:00 16:29:00
VIE 18,6199989318848 16:22:00 16:22:00
VIE 18,5849990844727 16:18:00 16:18:00
VIE 18,6450004577637 16:16:00 16:16:00
VIE 18,6650009155273 16:13:00 16:13:00
VIE 18,6549987792969 16:11:00 16:11:00
VIE 18,7150001525879 16:06:00 16:06:00
VIE 18,9799995422363 16:03:00 16:03:00
VIE 18,7350006103516 16:02:00 16:02:00
VIE 18,9850006103516 16:01:00 16:01:00
VIE 18,9650001525879 15:59:00 15:59:00
UG 40,6849975585938 17:19:00 17:19:00
UG 40,7099990844727 17:17:00 17:17:00
UG 40,7999992370605 17:14:00 17:14:00
UG 40,9499969482422 17:11:00 17:11:00
UG 41,0550003051758 17:06:00 17:06:00
UG 40,9850006103516 17:02:00 17:02:00
UG 40,9449996948242 16:58:00 16:58:00
UG 40,995002746582 16:56:00 16:56:00
UG 40,9850006103516 16:49:00 16:49:00
UG 40,9300003051758 16:47:00 16:47:00
UG 40,9650001525879 16:45:00 16:45:00
UG 40,875 16:43:00 16:43:00
UG 40,8450012207031 16:41:00 16:41:00
UG 40,8400001525879 16:36:00 16:36:00
UG 40,7699966430664 16:34:00 16:34:00
UG 40,7399978637695 16:27:00 16:27:00
UG 40,7350006103516 16:25:00 16:25:00
UG 40,7600021362305 16:22:00 16:22:00
UG 40,7350006103516 16:20:00 16:20:00
UG 40,7449989318848 16:18:00 16:18:00
UG 40,8199996948242 16:13:00 16:13:00
UG 40,7750015258789 16:11:00 16:11:00
UG 40,8150024414063 16:09:00 16:09:00
MERCI ENCORE
Comstock Milieu Bid Time Ask Time
VIE 18,8050003051758 17:19:00 17:19:00
VIE 18,8450012207031 17:17:00 17:17:00
VIE 18,8050003051758 17:15:00 17:15:00
VIE 18,8199996948242 17:11:00 17:11:00
VIE 18,8450012207031 17:03:00 17:03:00
VIE 18,8349990844727 17:01:00 17:01:00
VIE 18,7649993896484 16:58:00 16:58:00
VIE 18,7350006103516 16:56:00 16:56:00
VIE 18,7449989318848 16:49:00 16:49:00
VIE 18,7249984741211 16:46:00 16:46:00
VIE 18,6949996948242 16:45:00 16:45:00
VIE 18,685001373291 16:43:00 16:43:00
VIE 18,5999984741211 16:38:00 16:38:00
VIE 18,6149997711182 16:36:00 16:36:00
VIE 18,5799999237061 16:34:00 16:34:00
VIE 18,5950012207031 16:29:00 16:29:00
VIE 18,6199989318848 16:22:00 16:22:00
VIE 18,5849990844727 16:18:00 16:18:00
VIE 18,6450004577637 16:16:00 16:16:00
VIE 18,6650009155273 16:13:00 16:13:00
VIE 18,6549987792969 16:11:00 16:11:00
VIE 18,7150001525879 16:06:00 16:06:00
VIE 18,9799995422363 16:03:00 16:03:00
VIE 18,7350006103516 16:02:00 16:02:00
VIE 18,9850006103516 16:01:00 16:01:00
VIE 18,9650001525879 15:59:00 15:59:00
UG 40,6849975585938 17:19:00 17:19:00
UG 40,7099990844727 17:17:00 17:17:00
UG 40,7999992370605 17:14:00 17:14:00
UG 40,9499969482422 17:11:00 17:11:00
UG 41,0550003051758 17:06:00 17:06:00
UG 40,9850006103516 17:02:00 17:02:00
UG 40,9449996948242 16:58:00 16:58:00
UG 40,995002746582 16:56:00 16:56:00
UG 40,9850006103516 16:49:00 16:49:00
UG 40,9300003051758 16:47:00 16:47:00
UG 40,9650001525879 16:45:00 16:45:00
UG 40,875 16:43:00 16:43:00
UG 40,8450012207031 16:41:00 16:41:00
UG 40,8400001525879 16:36:00 16:36:00
UG 40,7699966430664 16:34:00 16:34:00
UG 40,7399978637695 16:27:00 16:27:00
UG 40,7350006103516 16:25:00 16:25:00
UG 40,7600021362305 16:22:00 16:22:00
UG 40,7350006103516 16:20:00 16:20:00
UG 40,7449989318848 16:18:00 16:18:00
UG 40,8199996948242 16:13:00 16:13:00
UG 40,7750015258789 16:11:00 16:11:00
UG 40,8150024414063 16:09:00 16:09:00
MERCI ENCORE
Fais un
select champ1, champ2, etc., rownum
Si ça plante pas c'est que c'est supporté : c'est une numérotation dynamique des tuples retournés par la requête
=> avec ça tu mets simplement la clause
where rownum<=20
et pis c fini...
Attention, si tu as une clause order by, cette méthode ne marche pas car la numérotation des tuples se fait avant le tri :-(
@++
Poster, poster encore et toujours :-)
select champ1, champ2, etc., rownum
Si ça plante pas c'est que c'est supporté : c'est une numérotation dynamique des tuples retournés par la requête
=> avec ça tu mets simplement la clause
where rownum<=20
et pis c fini...
Attention, si tu as une clause order by, cette méthode ne marche pas car la numérotation des tuples se fait avant le tri :-(
@++
Poster, poster encore et toujours :-)
oki je crois que j'ai compris :)
je pensais pas que ca marcherais comme ca, du coup je ne sait pas trop si c'est bien propre mais a prioris ca marche ;-)
SELECT * FROM table AS a
WHERE ( date in (
SELECT TOP 2 date from table where nom=a.nom ORDER BY date DESC));
Dis moi si c'est ok,
@++
Na kaer eo va Breizh,
gand ar mor glaz èn-dro dezi !
je pensais pas que ca marcherais comme ca, du coup je ne sait pas trop si c'est bien propre mais a prioris ca marche ;-)
SELECT * FROM table AS a
WHERE ( date in (
SELECT TOP 2 date from table where nom=a.nom ORDER BY date DESC));
Dis moi si c'est ok,
@++
Na kaer eo va Breizh,
gand ar mor glaz èn-dro dezi !
yep bon faut remplacer nom et a.nom par comstock et a.comstock biensur :)
Na kaer eo va Breizh,
gand ar mor glaz èn-dro dezi !
Na kaer eo va Breizh,
gand ar mor glaz èn-dro dezi !
et le 2 par 20 :)... je crois que c'est tout cette fois...
Na kaer eo va Breizh,
gand ar mor glaz èn-dro dezi !
Na kaer eo va Breizh,
gand ar mor glaz èn-dro dezi !
j'ai testé et ca marche ; par contre ma table étant une requête selection je n'arrive pas à la faire tourner dessus je suis obligé de la créer en dur....Si tu as un petit tuyau pour ce souci mais quoiqu'il arrive je suis vraiment trés content MERCI C'est TOP (20) :-)
Salut vous deux :)
sous acces tu peux selectionner sur une requete... tu remplace le nom de la table par le nom de la requete a chaque fois... ca devrai passer :o)
dis moi si ca marche :)
@++
Na kaer eo va Breizh,
gand ar mor glaz èn-dro dezi !
sous acces tu peux selectionner sur une requete... tu remplace le nom de la table par le nom de la requete a chaque fois... ca devrai passer :o)
dis moi si ca marche :)
@++
Na kaer eo va Breizh,
gand ar mor glaz èn-dro dezi !
En fait ma requete representant ma base d'origine est composée de plus de 9000 enregistrments ; quoiqu'il arrive c'est trés long , je m'en suis sorti en créant 56 requetes (1 requete par Comstock) , la dessus une reqete union selectionnant les 20 premiers entregistrements de chacune des 56 tables et le tour est joué ; c'est un peu laborieux mais le résultat est intantanné (important pour moi) ; merci encore à vous deux (batmat & aserve)
Merci encore ASERVE