Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2977 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [MySQL] Requete pour récupérer les lignes de fin de mois

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[MySQL] Requete pour récupérer les lignes de fin de mois

n°1843480
jay-jay69
Posté le 27-01-2009 à 10:12:47  profilanswer
 

Bonjour à tous,
 
J'ai une problématique SQL, mais je ne sais pas si elle est simple ou pas !
Je m'explique : j'ai une base de données avec un certain nombre de lignes journalières (aaaa-mm-jj)...
Je voulais savoir s'il était possible de récupérer l'ensemble des dernières lignes de chaque mois : mais le soucis, c'est que bien sur, la dernière ligne n'est pas toujours le 31. Il peut s'agir du 29, 30 etc... (ce sont des valeurs boursières, donc le dernier jour d'ouverture des marchés de chaque mois)
 
Est-ce possible, ou pas du tout ?
 
Merci de votre aide,
 
m.

mood
Publicité
Posté le 27-01-2009 à 10:12:47  profilanswer
 

n°1843543
jay-jay69
Posté le 27-01-2009 à 11:21:16  profilanswer
 

up my friends !

n°1843558
omega2
Posté le 27-01-2009 à 12:12:25  profilanswer
 

[:sh@rdar]
LAST_DAY

n°1843583
jay-jay69
Posté le 27-01-2009 à 13:27:13  profilanswer
 

Ca ne retourne que le dernier jour du mois en général, non ?
 
En d'autres termes, je veux qu'il me retourne le dernier jour du mois présent dans ma base... Même si c'est le 26...
 
Peut-être que je suis pas clair, en fait... :)

n°1843589
couak
Posté le 27-01-2009 à 13:33:21  profilanswer
 

tu prends la 1er jour du mois, et tu lui soustrais 1 jour

n°1843623
omega2
Posté le 27-01-2009 à 14:21:41  profilanswer
 

Alors dans ce cas, il faut que tu joues avec max et interval. [:airforceone]

n°1844020
Tibar
Posté le 28-01-2009 à 09:59:41  profilanswer
 

Salut,
 
Tu dois pouvoir faire ça avec MAX et GROUP BY :  
 SELECT YEAR( creation_date ) , MONTH( creation_date ) , MAX( DAY(creation_date) )
FROM TA_TABLE
GROUP BY YEAR( creation_date ) , MONTH( creation_date )
 
Ca ressort le dernier jour de chaque mois de chaque année pour lesquels une creation_date est présente.
 
Après, en insérant un WHERE, tu peux bien sur filtrer sur le mois en cours : WHERE MONTH(GetDate()) = MONTH(Creation_Date) AND YEAR(GetDate()) = YEAR(Creation_Date)
 
ou juste sur l'année en cours : WHERE YEAR(GetDate()) = YEAR(creation_date)
 
et avec le ORDER BY, tu peux trier :  
 
ORDER BY YEAR(creation_date) DESC, MONTH(creation_date) DESC, DAY(creation_date) DESC.
 
Bon courage,


Message édité par Tibar le 28-01-2009 à 10:00:09
n°1844115
jay-jay69
Posté le 28-01-2009 à 11:44:38  profilanswer
 

Merci pour ta réponse...
 
ton création_date, c'est mon champs date, c'est ca ??
 
Le mien est de la forme  : "aaaa-mm-jj"

n°1844217
Tibar
Posté le 28-01-2009 à 14:10:59  profilanswer
 

Salut,
 
Oui, le champ Creation_Date est mon champ Date.
Quelque soit l'affichage de la valeur, si ton champ est au format Date, ça doit passer.
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [MySQL] Requete pour récupérer les lignes de fin de mois

 

Sujets relatifs
Cherche menu sur deux lignesProblème de requête....
Construction d'une requêteproblème php mysql
javax.naming.NameNotFoundException: B not bound (Java, JBoss, MySql)[Access] Requete qui renvoit la synthèse de 2 tables.
installation apache + mysql + phpDétecter les doublons sur une base de données MYSQL
[sql]Requête qui affiche les doublons à partir d'un critèreRécupérer soit un champ dans une table soit un champ dans une autre
Plus de sujets relatifs à : [MySQL] Requete pour récupérer les lignes de fin de mois


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR