Aller au contenu

Select sur la semaine


Sujets conseillés

Posté

Bonjour

Dans une table MySql, jai plusieurs colonnes dont une qui :


  • est nommée jour
  • contient des dates comme 2011-07-05

Je veux faire un SELECT des lignes de cette table sur le numéro de semaine pour ne conserver que celles de la semaine en cours.

Ma requête :


SELECT * FROM esp1animation1 WHERE (type='activite' AND DATEPART(wk,`jour`)=DATEPART(wk,GETDATE()))

qui ne fonctionne pas.

Merci par avance de votre aide.

Francois

Posté

Traduis-nous ce que fait ta requête SQL en français. Tu vas voir, ce n'est pas ce que tu voulais. Maintenant, fais l'exercice inverse.

Jacques.

Posté

Ma requete veut sélectionner les lignes où:


  • le champ type a pour valeur activité
  • le champ jour porte une date dont le n° de semaine = le n° de la semaine courante

Merci de ton aide.

Francois

Posté

SELECT * FROM esp1animation1 WHERE type='activite' AND WEEK(jour)=WEEK( CURDATE( ) ) 

Si tant est que jour est bien typé date ou datetime.

Dans une table MySql

DATEPART(), c'est pas mssql ?

Posté

bonjour et merci de ta réponse.

J'ai fait deux essais: avec et sans la "semaine":


requete2: SELECT * FROM esp1animation2 WHERE WEEK(jour)=WEEK( CURDATE( )
result2:

Ici, la requête n'a pas fonctionnée, le $result2 = mysql_query ($requete2, $connexion2); n'a pas eu de résultat.


requete2: SELECT * FROM esp1animation2 ORDER BY jour DESC
result2: Resource id #33

Ici la requête a fonctionné et la page a affiché des résultats.

Pour le jour, un copier/coller depuis PhpMyAdmin:


Colonne Type
jour date

Merci par avance de ton aide.

Francois

Posté

Y'a 2 parenthèses fermantes et la requête est correcte; si tu n'obtiens pas de résultat, pose toi d'autres questions.

Si tu es sûr de toi, fourni un jeu de données qu'on puisse répondre sans perdre de temps ;)

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...