0
votes

Comment obtenir les dernières lignes de la table, mais nécessitent toutes les informations de la ligne?

Il y a une table Oracle comme ceci (cette table est le résultat d'une requête de jointure complexe) xxx pre>

nom de table est port p>

donc, comment créer une requête pour obtenir seulement Enfin, les lignes DATATIMECALC? P>

Résultat attendu est P>

objectId                              xml     DATETIME                    sourceId
4b626ed7-fd66-46e3-98b4-e235c029f92f  ...     2019-11-28 10:40:51.477     1-FR
8d4633c7-5422-46c9-a653-632bed534b60  ...     2019-11-28 10:40:51.505     1-I1


0 commentaires

3 Réponses :


2
votes

Je comprends que vous voulez la dernière ligne par sourceID , avec des enregistrements commandés par DateTime . Une méthode que je m'attendrais à être assez efficace dans Oracle est de filtrer avec une sous-requête corrélée: xxx

pour la performance, vous souhaitez un index sur (sourceID, DateTime) .


0 commentaires

3
votes

Vous pouvez utiliser Row_Number ()

select a.* from 
(
select *, row_number() over(PARTITION by sourceId order by datetime desc) rn
from t
) a where a.rn=1


0 commentaires

0
votes

Veuillez utiliser ci-dessous Query. XXX


0 commentaires