Précédent   Forum des professionnels en informatique > Bases de données > MySQL
MySQL Forum d'entraide MySQL. Avant de poster -> FAQ MySQL, Tutoriels MySQL
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 29/11/2011, 22h41   #1
Membre chevronné
 
Inscription : août 2010
Messages : 416
Détails du profil
Informations forums :
Inscription : août 2010
Messages : 416
Points : 732
Points : 732
Par défaut SQL Date selection

Bonsoir,

j'aimerai savoir s'il y'a une possiblité d'afficher les valeurs d'une table donnée entre l'instant actuel et l'instant actuel - 24h .

Exemple :

On est a 29/11/2011 à 22h33 min....Je veux afficher toutes les valeurs de ma tables qui existent entre 28/11/2011 à 22h33 min et 29/11/2011 à 22h33 min


Merci
marouene_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2011, 10h51   #2
Membre chevronné
 
Inscription : août 2010
Messages : 416
Détails du profil
Informations forums :
Inscription : août 2010
Messages : 416
Points : 732
Points : 732
j'ai essayé ca :

Code :
SELECT * FROM TABLE WHERE Data_co BETWEEN now() AND DATE_SUB(now(), 1DAY)

pour afficher les résultats des derniers 24h mais ca ne marche pas..

une idée?
marouene_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2011, 11h48   #3
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 029
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 11 029
Points : 18 331
Points : 18 331
Envoyer un message via MSN à CinePhil
1) Il manque un espace entre 1 et DAY et le mot INTERVAL.

2) Bien entendu, Data_co est une colonne de la table ? Elle est bien de type DATE ?

3) Avec BETWEEN, il faut que la première valeur soit inférieure à la seconde.

4) CURRENT_DATE est plus standard que now().

5) Au passage, évite la guerre des étoiles !

Code :
1
2
3
SELECT -- les colonnes nécessaires et pas étoile 
FROM la_table 
WHERE Data_co BETWEEN DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY) AND CURRENT_DATE
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2011, 22h33   #4
Membre chevronné
 
Inscription : août 2010
Messages : 416
Détails du profil
Informations forums :
Inscription : août 2010
Messages : 416
Points : 732
Points : 732
Bonsoir,

merci beaucoup pour votre réponse.

J'ai essayé cette requete, elle fonctionne, mais elle m'affiche les résultats d'aujourd'hui et d'hier( tout la journée d'hier)... Alors que moi je veux afficher les résultats des derniers 24h seulement...

Exemple : Heure actuelle 22h30

l'intervalle d'affichage est [29/11/2011 22:30 , 30/11/2011 22:30]
marouene_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2011, 22h42   #5
Expert Confirmé
 
Homme
Inscription : mai 2002
Messages : 1 655
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2002
Messages : 1 655
Points : 2 657
Points : 2 657
beh cest quoi le type de votre colonne ? une date ou un timestamp ?
punkoff est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2011, 23h16   #6
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 029
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 11 029
Points : 18 331
Points : 18 331
Envoyer un message via MSN à CinePhil
Remplace CURRENT_DATE par CURRENT_TIMESTAMP et utilise plutôt INTERVAL 24 HOUR.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2011, 17h45   #7
Membre chevronné
 
Inscription : août 2010
Messages : 416
Détails du profil
Informations forums :
Inscription : août 2010
Messages : 416
Points : 732
Points : 732
j'ai essayé avec cette requete :

Code :
SELECT heure, date, valeur FROM table1 WHERE date BETWEEN(current_timestamp, interval 24 hour) AND current_timestamp;
mais ca ne m'affiche que les valeurs d'aujourd'hui
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
+----------+------------+---------+
| heure      | date             | valeur |
+----------+------------+---------+
| 00:01:05 | 2011-12-05 | 580.078 |
| 00:50:35 | 2011-12-05 | 672.592 |
| 01:27:40 | 2011-12-05 | 521.921 |
| 02:12:16 | 2011-12-05 | 773.705 |
| 02:35:18 | 2011-12-05 | 749.223 |
| 02:52:46 | 2011-12-05 |  3418.7 |
| 03:16:01 | 2011-12-05 | 3396.74 |
| 03:48:35 | 2011-12-05 | 3437.36 |
| 04:09:17 | 2011-12-05 | 1366.89 |
| 04:29:26 | 2011-12-05 | 773.603 |
| 05:09:44 | 2011-12-05 | 792.687 |
| 05:26:48 | 2011-12-05 | 3449.71 |
| 05:45:16 | 2011-12-05 | 800.735 |
| 06:22:21 | 2011-12-05 | 830.719 |
| 06:55:13 | 2011-12-05 | 719.196 |
| 07:22:32 | 2011-12-05 | 3350.17 |
| 08:01:37 | 2011-12-05 | 687.722 |
| 08:31:40 | 2011-12-05 | 2478.25 |
| 08:51:59 | 2011-12-05 | 3320.14 |
| 09:38:16 | 2011-12-05 |  3196.8 |
| 10:15:52 | 2011-12-05 |  1843.8 |
| 10:39:26 | 2011-12-05 | 3207.39 |
| 10:57:46 | 2011-12-05 | 2768.09 |
| 11:17:44 | 2011-12-05 | 2444.33 |
| 11:38:52 | 2011-12-05 |    2905 |
| 11:59:46 | 2011-12-05 | 1965.51 |
| 12:18:18 | 2011-12-05 | 3003.33 |
| 14:47:46 | 2011-12-05 | 1860.09 |
| 15:19:28 | 2011-12-05 | 3152.83 |
| 15:37:11 | 2011-12-05 | 3113.16 |
| 15:55:10 | 2011-12-05 | 3364.64 |
| 17:14:07 | 2011-12-05 | 98.7013 |
+----------+------------+---------+
Voici ma table :

show create table httptable;
+-----------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
Code :
1
2
3
4
5
6
7
8
+-----------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
| table1 | CREATE TABLE `table1` (
  `date` date DEFAULT NULL,
  `heure` time DEFAULT NULL,
  `valeur` float DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 |
+-----------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row IN SET (0.00 sec)
marouene_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2011, 18h47   #8
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 029
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 11 029
Points : 18 331
Points : 18 331
Envoyer un message via MSN à CinePhil
Vite fait :
Code :
1
2
3
SELECT heure, `date`, valeur 
FROM table1 
WHERE `date` BETWEEN DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 24 HOUR) AND CURRENT_TIMESTAMP
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2011, 14h35   #9
Membre chevronné
 
Inscription : août 2010
Messages : 416
Détails du profil
Informations forums :
Inscription : août 2010
Messages : 416
Points : 732
Points : 732
Citation:
Envoyé par CinePhil Voir le message
Vite fait :
Code :
1
2
3
SELECT heure, `date`, valeur 
FROM table1 
WHERE `date` BETWEEN DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 24 HOUR) AND CURRENT_TIMESTAMP
bein c'est la meme requete que j'ai testé...et ca ne fonctionne pas non plus ><
marouene_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2011, 14h53   #10
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 029
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 11 029
Points : 18 331
Points : 18 331
Envoyer un message via MSN à CinePhil
Comme c'était vite fait, je n'avais pas vu, et tu ne nous avais pas dit, que tu avais une colonne pour la date et une pour l'heure !

Code :
1
2
3
SELECT heure, `date`, valeur 
FROM table1 
WHERE STR_TO_DATE(CONCAT(`date`, ' ', heure), '%Y-%m-%d %H:%i:%s') BETWEEN DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 24 HOUR) AND CURRENT_TIMESTAMP
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Vieux 07/12/2011, 17h05   #11
Membre chevronné
 
Inscription : août 2010
Messages : 416
Détails du profil
Informations forums :
Inscription : août 2010
Messages : 416
Points : 732
Points : 732
la ca marche à merveille

Merci bqbq
marouene_ 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 00h36.


 
 
 
 
Partenaires

Hébergement Web