{SQL Server} Requête SQL

Résolu/Fermé
2berte Messages postés 204 Date d'inscription vendredi 17 novembre 2006 Statut Membre Dernière intervention 10 mai 2010 - 19 oct. 2009 à 20:33
2berte Messages postés 204 Date d'inscription vendredi 17 novembre 2006 Statut Membre Dernière intervention 10 mai 2010 - 20 oct. 2009 à 20:47
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

2 réponses

rom56 Messages postés 300 Date d'inscription lundi 22 janvier 2007 Statut Membre Dernière intervention 25 mai 2012 88
19 oct. 2009 à 21:45
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 vendredi 17 novembre 2006 Statut Membre Dernière intervention 10 mai 2010 143
20 oct. 2009 à 20:47
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