Requete PHP/MYSQL

Résolu
PhilMarcellus Messages postés 3 Statut Membre -  
PhilMarcellus Messages postés 3 Statut Membre -
Bonjour,

J'ai un petit soucis de requete (comme d'hab !)
j'ai une table dans laquelle j'enregistre le code_membre l'ip et la date_heure de connexion.
Je souhaiterai extraire la liste des code_membre qui ne se sont plus connecté depuis une date_heure_x
ou autrement dit la liste des code_membre dont la DERNIERE connexion est antérieure à une date_heure_x .

select DISTINCT code_membre from ma_table where . . . . . . ????????

Merci de votre aide.
Configuration: Windows XP
Internet Explorer 7.0

4 réponses

  1. PhilMarcellus Messages postés 3 Statut Membre 1
     
    Comme je suis sous mysql 3.23 certaine requêtes ne passent pas.
    Avec votre aide j'ai résolu ma difficultée:
    $recherche="SELECT numero_membre, MAX(DatE) FROM connexions GROUP BY numero_membre ";
    $resultat=mysql_query($recherche);
    while ($row=mysql_fetch_array ($resultat)){
    if ($row["MAX(DatE)"] < $_POST["la_derniere"]){

    Je fais une requête cherchant les dates les plus récentes que je groupe par membres et je n'affiche que celles qui sont antérieures à ma date de référence.
    Il ne me reste plus après qu'a déconnecter les personnes qui ne se sont plus connectées depuis ma date de référence ! ! !
    voili voilou
    Merci à tous ! ! !
    1
  2. greg
     
    select DISTINCT code_membre from ma_table where date_heure < date_heure_x.
    0
    1. PhilMarcellus Messages postés 3 Statut Membre 1
       
      Merci GREG, mais celle là je l'ai déja faite ! ! ! !
      J'ai en retour la liste de toutes les connexions antérieure au date_heure_x , mais si la personne c'est connecté après cette date je ne le sais pas ! ! !
      0
  3. greg
     
    Voilà j'ai compris ce que tu veux faire.

    SELECT code_membre FROM ma_table WHERE date_heure < date_heure_x AND NOT IN (SELECT code_membre FROM ma_table WHERE date_heure >= date_heure_x)

    Je suis pas sûr de la requête, mais c'est l'esprit du truc.

    Bonne chance.
    0
  4. Mikey_UFC
     
    Salut,

    Si j'ai bien compris ce doit-être :

    SELECT code_membre FROM ma_table AS T WHERE date_heure < date_heure_x AND date_heure IN (SELECT max(date_heure) FROM ma_table WHERE code_membre = T.code_membre).

    Mais tout dépend du SGBD, certaines vieilles versions ne prennent pas en compte les requêtes imbriquées
    0