J'ai une table Oracle avec deux colonnes ID et START_DATE, je veux lancer une requête pour obtenir l'ID de l'enregistrement avec la date la plus récente, initialement j'ai écrit ceci:Requête SQL pour obtenir une valeur de ligne unique à partir d'un agrégat
select id from (select * from mytable order by start_date desc) where rownum = 1
Existe-t-il une façon plus propre et efficace de le faire? Je cours souvent dans ce modèle en SQL et finis par créer une requête imbriquée.
Mieux, mais je pense que OP voulait éviter les requêtes imbriquées. J'aurais essayé quelque chose avec des fonctions analytiques ... mais je ne suis pas sûr que cela fonctionnerait ... hmm ... – FrustratedWithFormsDesigner
Cela remplit le 'obtenir tous les enregistrements avec la date de début la plus récente', ce qui n'est pas le cas de la requête OPs. +1 –
Merci! Je ne suis pas vraiment en train d'essayer d'éviter les requêtes imbriquées, je suis très novice en SQL, donc je voulais juste savoir si ce que je fais est une pratique de codage sql commune (ou mauvaise). – wsb3383