16 votes

MySQL.. Renvoyer '1' si un COUNT renvoie quelque chose de supérieur à 0

Je suis en train de créer une requête MySQL qui retourne essentiellement vrai ou faux. J'aimerais exécuter

SELECT COUNT(id) 
  FROM comments  
 WHERE comment_date >= 1306904400 
   AND user_id = 1 

Donc si l'utilisateur a posté dans le forum 10 fois ce mois-ci, je voudrais qu'il renvoie simplement 1, sinon je voudrais qu'il renvoie 0 pour indiquer qu'il ne l'a pas fait.

Est-il possible de le faire efficacement en SQL?

0voto

Rucent88 Points 628

J'utilise une LIMIT pour faire quelque chose de similaire, et l'évalue simplement dans mon code. Le SQL s'arrêtera après avoir trouvé 10 correspondances.

SELECT id FROM {mytable}
WHERE comment_date >= 1306904400
AND user_id = 1
LIMIT 10

PHP demande un minimum de 10 articles.

if(my_db_query() != 10)
    not_enough_posts();

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X