Ver Mensaje Individual
  #11 (permalink)  
Antiguo 27/11/2014, 11:14
Avatar de Libras
Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Uso de Group by y función max

jugando un poco con los valores y las funciones de sql podemos sacar algo como esto:

Código SQL:
Ver original
  1. CREATE TABLE #temp
  2. (
  3. id_alumno INT,
  4. nombre VARCHAR(20),
  5. semestre INT,
  6. promedio DECIMAL(16,10)
  7. )
  8.  
  9. INSERT INTO #temp VALUES (01 ,' Juan ', 1 , 16.74)
  10. INSERT INTO #temp VALUES (02 ,' John ', 1 , 15.07)
  11. INSERT INTO #temp VALUES (03 ,' Pepe',1 , 14.32)
  12. INSERT INTO #temp VALUES (04 ,' Carlos ', 2 , 12.29)
  13. INSERT INTO #temp VALUES (05 ,' Cesar ', 2 , 12.00)
  14. INSERT INTO #temp VALUES (06 ,' Cecilia ', 2 , 11.00)
  15.  
  16. SELECT t1.* FROM #temp AS t1
  17. LEFT JOIN (SELECT MAX(promedio) promedio,semestre FROM #temp GROUP BY semestre
  18. UNION
  19. SELECT MIN(promedio) promedio,semestre FROM #temp GROUP BY semestre
  20. ) AS t2 ON (t1.semestre=t2.semestre AND t1.promedio=t2.promedio)
  21. WHERE t2.promedio IS NOT NULL
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me