Yop!
J'ai une table de ce type:
Code :
- ----------------------------------------------------------
- | id | idUser | Date | Statut |
- ----------------------------------------------------------
- | 1 | 1 | 2005.11.15 10:xx:xx | 0 |
- | 2 | 1 | 2005.11.15 10:xx:xx | 0 |
- | 3 | 1 | 2005.11.15 10:xx:xx | 0 |
- | 4 | 1 | 2005.11.15 18:xx:xx | 0 |
- | 5 | 1 | 2005.11.15 18:xx:xx | 0 |
- | 6 | 1 | 2005.11.15 23:xx:xx | 1 |
- ----------------------------------------------------------
|
on peut voir qu'il y a des répétitions pour 1 seule heure --> genre 3 enregistrement à 10hxx, 2 à 18h
--> J'aimerais garder qu'un seul enregistrement par heure!
Ce qui donnerait la table suivante:
Code :
- ----------------------------------------------------------
- | id | idUser | Date | Statut |
- ----------------------------------------------------------
- | 1 | 1 | 2005.11.15 10:xx:xx | 0 |
- | 4 | 1 | 2005.11.15 18:xx:xx | 0 |
- | 6 | 1 | 2005.11.15 23:xx:xx | 1 |
- ----------------------------------------------------------
|
Pour l'instant j'essaie avec cette requete, mais j'y arrive pas...
Code :
- CREATE TABLE onlinestatstemp
- AS SELECT id FROM onlinestats o1
- WHERE EXISTS
- (SELECT 1 FROM onlinestats o2
- WHERE DAYOFYEAR(o2.date) = DAYOFYEAR(o1.date)
- AND HOUR(o2.date) = HOUR(o1.date)
- AND o1.id>o2 .id);
- DELETE FROM onlinestats
- WHERE id IN (SELECT id FROM onlinestatstemp);
- DROP TABLE onlinestatstemp;
|
Merci pour votre aide.
@++
Message édité par le_duc le 08-03-2006 à 00:57:11