[SQL Server] Requête pour récupérer la valeur max

Requête pour récupérer la valeur max [SQL Server] - SQL/NoSQL - Programmation

Marsh Posté le 23-07-2006 à 00:01:07    

Bonjour à tous :)
J'ai la table stats qui contient les champs id_stats et date.
Je veux récupérer l'id_stats qui a la date la plus récente.  
Ma requête est la suivante :

Code :
  1. select top 1 id_stats from stats order by date desc


Cette requête marche mais ça m'a l'air vraiment cochon, surtout avec le "top 1".
J'ai essayé d'utiliser la fonction max() mais je n'y arrive pas. Merci si vous y arrivez :)


Message édité par Roodie le 23-07-2006 à 00:01:41
Reply

Marsh Posté le 23-07-2006 à 00:01:07   

Reply

Marsh Posté le 23-07-2006 à 00:10:57    

tu fais:

Code :
  1. select id_stats from stats where date = max(date)

Reply

Marsh Posté le 23-07-2006 à 00:28:15    

Ah nan, ça peut pas marcher ta requête, ça serait trop facile :)  
J'obtiens l'erreur :  
An aggregate may not appear in the WHERE clause unless it is in a subquery contained in a HAVING clause or a select list, and the column being aggregated is an outer reference..  
Merci quand même :)
 
Edit : en plus, je ne veux pas du "top 1" parce que je vais inclure la requête dans une autre, et je ne peux pas me limiter à récupérer une seule ligne


Message édité par Roodie le 23-07-2006 à 01:24:20
Reply

Marsh Posté le 23-07-2006 à 18:26:38    

select id_stats from stats where date = (select max(date)  from stats)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed