2011-05-11 3 views
1

Je voudrais mettre en ligne une liste de membres qui ne se sont pas connectés au cours des 90 derniers jours. Dans mysql j'ai une colonne last_access qui se met à jour chaque fois qu'un utilisateur se connecte. Donc je pense que la vérification peut être effectuée sur cette colonne. Le format des colonnes est: date("Y/m/d : H:i:s", time()) (2011/05/10: 21:42:33)php sql check utilisateurs actifs

Quelle serait une requête SQL appropriée à utiliser?

+6

Pourquoi utilisez-vous un format de date non standard? Vous devriez vraiment utiliser un horodatage UNIX dans une colonne INT ou une colonne DATETIME. – ThiefMaster

+0

Dans quel type de champ cette valeur est-elle stockée? –

+0

Ne nous dites pas que vous stockez la date dans une colonne varchar pour * lisibilité *. –

Répondre

1
SELECT username 
FROM users 
WHERE DATEDIFF(NOW(),last_access)>90 
+0

Cela suppose que 'last_access' est une colonne avec un type date/heure correct Si ce n'est pas le cas, si @Zero utilise réellement une chaîne comme il le suggère, il est conseillé de corrigez le type de colonne plutôt que d'implémenter une solution de contournement –

+0

Je suis entièrement d'accord. – garnertb

1
SELECT columns 
FROM table 
WHERE last_access < CURRENT_TIMESTAMP - INTERVAL 90 DAY