Bases de Datos > SQL Server
Que Registro Es??
lencho:
--- Cita de: "Cajami" --- que pasaría si tuviera 3 alumnos con la misma nota se tedria que mostrar a los 3 alumnos ordenados por sus apellidos, disculpen si ia caigo odioso preguntando pero hasta que no lo comprenda bien :D me gusta seguir preguntando
--- Fin de la cita ---
creo que se le aumenta a la clausula top percent
lo busco y lo muestro.
BYTE.
Cajami:
claro, pero como pregunté antes si tuviera (en el caso que tuviera puede que no) 3 alumnos que tengan 16 de nota los 3, pero como dije se puede dar como no el caso de que dos o mas alumnos tengan la misma nota
lencho:
--- Cita de: "Angel_K_ido" ---
--- Cita de: "Cajami" --- que pasaría si tuviera 3 alumnos con la misma nota se tedria que mostrar a los 3 alumnos ordenados por sus apellidos, disculpen si ia caigo odioso preguntando pero hasta que no lo comprenda bien :D me gusta seguir preguntando
--- Fin de la cita ---
Entonces así:
--- Código: Text ---SELECT * FROM Alumnos WHERE Nota IN (Select max(Nota) From Alumnos); No te hagas problemas en preguntar, mientras quieras aprender :comp: .-
--- Fin de la cita ---
SIP, efectivamente creo que esta es la mejor opcion.
Ya que con eso de la clausula percent hay algunos problemas.
Aqui hay parte de un articulo que lo explica.
--- Código: Text ---Indicar el número máximo de filas a devolver (TOP) (02/May/04) Al realizar una selección de datos clasificados (usando ORDER BY), podemos indicar el número de filas (registros) máximos que queremos devolver, para ello indicaremos TOP y el número de filas o el porcentaje de filas a devolver: Con las siguientes instrucciones se devolverán los primeros 50 registros (si los hay) que cumplan las condiciones indicadas: SELECT TOP 50 Nombre, Apellidos, NIF FROM Clientes WHERE Provincia = 'Madrid' ORDER BY Apellidos DESC TOP no diferencia filas que sean iguales, es decir, si la fila 50 y la 51 tienen los mismos Apellidos, devolverá 51. En este otro ejemplo, se devolverá el 20% de las filas que coincidan con las instrucciones SQL indicadas: SELECT TOP 20 PERCENT Nombre, Apellidos, NIF FROM Clientes WHERE Provincia = 'Madrid' ORDER BY Apellidos DESC Nota: Dependiendo de que estemos usando DAO o ADO el número de filas devueltas puede que sea distinto de cuando usamos ADO.NET, al menos en una misma tabla, usando TOP 150, con ADO me devolvía 151 filas y con ADO.NET me devolvía 150. No se si es que TOP se comporta de forma diferente en ADO.NET .
BYTE.
Mollense:
--- Cita de: "Cajami" ---claro, pero como pregunté antes si tuviera (en el caso que tuviera puede que no) 3 alumnos que tengan 16 de nota los 3, pero como dije se puede dar como no el caso de que dos o mas alumnos tengan la misma nota
--- Fin de la cita ---
--- Citar --- Entonces así:
SELECT * FROM Alumnos WHERE Nota IN (Select max(Nota) From Alumnos);
No te hagas problemas en preguntar, mientras quieras aprender.-
--- Fin de la cita ---
:blink:
Cajami:
muchas gracias a todos por sus respuetas :hola:
Navegación
[*] Página Anterior
Ir a la versión completa