requete mysql

WRInaute occasionnel
Salut,

Je cherche à faire une requete un peu compliqué pour mes p'tits neurones du vendredi ... :)

Ma table
id ip dat

Dans ip , ben y a une ip
Dans dat la date en timestamp

Je veux supprimer avec 2 conditions:
- la date actuelle est superieures de x secondes au champs dat
- le nombre d'ip identique est = 1

Donc je ne veux supprimer que les enregistrement ou les ip sont uniques et dont la date est depassé depuis x seconde

En 1 seule requete, j'en demande trop ?

Merci
 
WRInaute discret
tu creer une variable $dateref (now-xx sec.) pour obtenir ta date de référence

Code:
SELECT DISTINCT(ip), dat, id FROM xxx WHERE dat < $dateref

tu obtien ainsi une liste d'ip unique aux dates que tu souhaites
 
WRInaute discret
atten je crois m' être trompé! tu veux les ip qui ne sont présentent qu'une seul fois dans la base ou ou une liste d'ip dédoublonnée?
 
WRInaute occasionnel
1 - tu te débrouilles pour avoir la date de péremption au format timestamp dans une varaible php style $date_peremption

2 - tu fais une requete du style

DELETE FROM TABLE table WHERE dat<'.$date_peremption.' and ip in (SELECT ip,count(*) as c FROM TABLE table WHERE c=1)

C'est juste une voie je doute que ça marche direct :-)

Normalement faudrait faire plusierus requetes...
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut