J'ai eu la question suivante sur une interview: Étant donné une table de nombres naturels avec quelques-uns manquant, fournir la sortie de deux tables, début de l'écart de nombre dans le premier tableau et se terminant en deuxième. Exemple:question d'entrevue SQL
____ ________ | | | | | | 1 | | 3 | 3 | | 2 | | 6 | 7 | | 4 | | 10| 12| | 5 | |___|___| | 8 | | 9 | | 13 | |____|
Hmm ... Vous pourriez probablement faire facilement avec des fonctions analytiques comme ' lag' et 'lead' (peut-être quand j'ai le temps au déjeuner) ... mais ce serait spécifique à Oracle (ou à d'autres qui supportent ces fonctions). S'agit-il d'une solution générique pouvant fonctionner sur * n'importe quel * SGBDR, ou êtes-vous autorisé à assumer une implémentation spécifique? – FrustratedWithFormsDesigner
Je suppose que ça devait être quelque chose de générique, parce que les autres questions, qui étaient sur la programmation, étaient indépendantes des langages. – Krns
Je pense que vous devriez être capable de le faire avec deux instructions exist et une auto-comparaison pour remplir une table temporaire (une existe pour voir quand le prochain numéro n'est pas dans la table, une autre pour quand le nombre précédent ne l'est pas). – JNK