{SQL Server} Requête SQL

Résolu
2berte Messages postés 204 Date d'inscription   Statut Membre Dernière intervention   -  
2berte Messages postés 204 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je n'arrive pas à faire une requête. J'ai une table de la structure suivantes :
t_id , t_date
1 , 07/09/2009
2 , 15/09/2009
3 , 25/10/2009
4 , 28/10/2009
5 , 04/11/2009
6 , 25/12/2009
7 , 24/12/2010

Je souhaite extraire les enregistrements 2, 4, 5 ,6 et 7. Je recherche la date maximum pour chaque mois dans ma base de données. Je ne vois pas du tout comment procéder.

Auriez vous une piste ?

En attente de vous lire en retour, merci

2berte
A voir également:

2 réponses

rom56 Messages postés 300 Date d'inscription   Statut Membre Dernière intervention   88
 
Bonsoir,

J'ai travailller cet été sur les bases de données et je vais essayer de t'aider, je suis pas sur que ça fonctionne. Deja je suis pas sur de comprendre ce que tu veux faire, tu as plusieurs dates dans une table et pour tous les mois de plusieurs années différentes tu veux extraire la date maximale du mois contenu dans la BDD (pas le nombre de jour du mois ?).

Ce que tu peux faire :
1 - creer une vue avec le mois dedans CREATE VIEW vue_mois AS (SELECT month(date) AS mois, date FROM nom_table)
2 - SELECT max(date) AS 'Date Max', mois FROM vue_mois GROUP BY mois


Edit (il faut group by year aussi..) :
1 - creer une vue avec le mois dedans CREATE VIEW vue_mois AS (SELECT month(date) AS mois, year(date) AS year, date FROM nom_table)
2 - SELECT max(date) AS 'Date Max', (mois+'/'+year) FROM vue_mois GROUP BY mois AND year

Je suis pas sur de la synthaxe par contre :)

la vue n'est pas nécessaire, c'est juste pour que tu comprennes mieux :)

Bonne soirée!

Tiens moi au courant
0
2berte Messages postés 204 Date d'inscription   Statut Membre Dernière intervention   143
 
Slt,

merci de ton aide. Mais j'ai réussi à me dépanner.
la syntaxe que j'ai utilisé est la suivante :

SELECT MAX(t_date) FROM ma_table GROUP BY YEAR(t_date), MONTH(t_date)

Merci beaucoup,

Cordialement

2berte
0