2012-09-23 24 views
5

Ho una query che restituisce i seguenti datiSQL SELECT distinta colonna

enter image description here

come si può vedere nell'immagine gruppi colorate sono simili per quanto riguarda colonna "A" voglio prendere la prima occorrenza di queste righe per quanto riguarda la colonna "A" e scartare il resto.

così posso finire con questo risultato.

enter image description here

eventuali soluzioni?

Grazie :)

Aggiornamento:

questa è la query originale si traduce enter image description here

+2

Qual è stato il criterio di ordinamento utilizzati generare quella prima tabella? – Vikdor

+0

Ci sono colonne univoche e ordinate disponibili sulla tabella non mostrate in questa vista? – pd40

+0

Posta, se possibile, i dati in un formato di testo, per poterli utilizzare su una query. Ciò consentirà di risparmiare tempo per i rispondenti e, di solito, migliori e più rapidi. – Yaroslav

risposta

6

lo farei come segue:

WITH T(A, B, C, D, RowNum) AS 
(
    SELECT A, B, C, D, ROW_NUMBER() OVER (PARTITION BY A ORDER BY A) 
    FROM MyTable 
) 
SELECT * FROM T 
WHERE 
    RowNum = 1 
+0

perfetto, Molte grazie :) – Kassem