Si tengo una tabla llamada [Parte] con columnas [Idpart], [IDNumber] y [Longitud] y los datos:SQL SELECT DISTINCT Top 2
[PartID] [IDNumber] [Length]
1 Test1 50
2 Test1 60
3 Test2 50
4 Test3 70
¿Cómo puedo seleccionar sólo los mejores 2 registros con un IDNumber distinto? Después de buscar un poco, no he podido encontrar una consulta que haga lo que quiero. Me gustaría que los resultados de este aspecto:
[PartID] [IDNumber] [Length]
1 Test1 50
3 Test2 50
Lo que tengo ahora:
Select distinct top 2
[PartID],
[IDNumber],
[Length]
from
[Part]
para aclarar que el Idpart es en realidad un GUID. Pensé que escribir el GUID para cada registro se estaba metiendo un poco en mis datos de ejemplo.
Top 2 por qué? ** No hay un orden predeterminado en SQL. ** – JNK
¿Desea los grupos TOP 2 (por [IDNumber]) ordenados por PartId y luego desde estos dos grupos desea el registro superior único? –
Top 2 ordenando por 'PartID ASC'? – Lamak