SQL - Select nouveau record quand il y a un doublon
Je suis en train d'écrire une requête, et ont utilisé la solution dans ce fil et il a travaillé un peu mais j'ai encore un peu de mal.
Je veux sélectionner un tas de dossiers qui sont pour la plupart uniques, mais il ya quelques-uns qui se produisent deux fois. Je veux être en mesure de choisir seulement le record de la plus récente date. C'est ma requête jusqu'à présent:
SELECT tb1.id,tb1.type,tb1.date
FROM Table tb1
WHERE tb1.type = 'A' OR 'B'
AND tb1.date = (SELECT TOP 1 tb2.date
FROM Table tb2
WHERE tb2.date = tb1.date
ORDER BY tb2.date DESC)
Cela fonctionne aussi loin qu'il récupère l'enregistrement le plus récent de ces documents, qui ont des doublons, mais les enregistrements qui N'ont PAS de doublons n'apparaissent pas du tout.
Merci pour toute aide, et mes excuses si j'ai oublié quelque chose de super évident; je suis nouveau sur le SQL jeu.
Remarque vous avez l'air de se joindre à la date, et non par autre chose que par exemple l'id. Est-ce intentionnel?
pouvez-vous être plus précis? Vous avez dit: "je veux être en mesure de sélectionner le dossier qui a le plus récent date" et le dernier "mais ces enregistrements qui N'ont PAS les doublons ne semble pas du tout"...semble que deux chose différente pour moi.
OriginalL'auteur Kristen Rw Johnson | 2012-03-01
Vous devez vous connecter pour publier un commentaire.
Il ya quelques façons de le faire, une façon est d'utiliser ROW_NUMBER comme ceci:
Ce sera le retour de la ligne pour chaque id valeur a la Date la plus récente.
Petite faute de frappe: tb2.La Date devrait être tb1.Date
OriginalL'auteur AdaTheDev