Sto scrivendo una query e ho utilizzato la soluzione in this thread e ha funzionato in qualche modo ma ho ancora un po 'di problemi.SQL: selezionare il record più recente quando c'è un duplicato
Voglio selezionare un gruppo di record che sono per la maggior parte unici, ma ce ne sono alcuni che si verificano due volte. Voglio essere in grado di selezionare solo il record che ha la data più recente. Questa è la mia interrogazione finora:
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)
Questo funziona per quanto recupera l'ultimo record di quei record che hanno i duplicati, ma i record che non hanno duplicati non appare affatto.
Grazie per qualsiasi aiuto, e le mie scuse se ho perso qualcosa di super ovvio; Sono nuovo del gioco SQL.
È possibile fornire dati di esempio di righe univoche che non vengono restituite rispetto a duplicati in cui sono corretti? – kaj
Nota che ti sembra di partecipare alla data e non da altro, ad esempio id. È intenzionale? – kaj
puoi essere più specifico? Hai detto: "Voglio essere in grado di selezionare solo il record che ha la nuova data" e quest'ultimo "ma quei dischi che NON hanno duplicati non appaiono affatto" ... mi sembrano due cose diverse. – Diego