Vous recevez des insertions en streaming avec d'éventuelles lignes dupliquées (ID unique + horodatage présents). Pour les requêtes interactives qui excluent les doublons, quel modèle de requête devriez-vous utiliser ?
Choisissez une réponse
Appuyez sur une option pour vérifier votre réponse.
Bonne réponse : Utiliser la fonction de fenêtre ROW_NUMBER avec PARTITION par ID unique et WHERE row equals 1..
Pourquoi c'est la réponse
La fonction de fenêtre ROWNUMBER() avec PARTITION BY sur l'ID unique et ORDER BY sur le timestamp (généralement DESC pour la plus récente ou ASC pour la plus ancienne, selon le besoin) attribue un numéro séquentiel à chaque ligne au sein de chaque partition. En filtrant WHERE rownumber = 1, vous sélectionnez la première occurrence (la plus récente ou la plus ancienne) pour chaque ID unique, éliminant ainsi les doublons. Les autres options sont incorrectes car : ORDER BY DESC et LIMIT 1 ne fonctionneraient que pour un seul ID unique, pas pour l'ensemble des données. GROUP BY sur l'ID et le timestamp ne supprimerait pas les doublons si le timestamp diffère, et SUM n'est pas pertinent ici pour la déduplication. LAG est utilisé pour accéder à une ligne précédente et n'est pas la méthode directe pour la déduplication basée sur la sélection de la première/dernière occurrence.
Réussissez votre examen — sans la chasse aux réponses interminable
Obtenez toutes les questions et explications vérifiées pour cet examen en un seul endroit, et économisez des heures de préparation. Plus de 1 000 certifications · Plus de 20 langues · Gratuit pour commencer.
Réussissez votre examen plus rapidement → Pas de carte requise