Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

sentencia sql

Estas en el tema de sentencia sql en el foro de Mysql en Foros del Web. hola buena: Ando con una pequeño problema, haber si alguien me puede ayudar, lo que quiero es lograr una consulta sql que me devuelva la ...
  #1 (permalink)  
Antiguo 05/11/2013, 04:39
 
Fecha de Ingreso: abril-2008
Mensajes: 64
Antigüedad: 16 años
Puntos: 2
sentencia sql

hola buena:

Ando con una pequeño problema, haber si alguien me puede ayudar, lo que quiero es lograr una consulta sql que me devuelva la nota mas pequeña de cada clase, e intentado a ponerlo asi.

SELECT A.NOMBRE, A.NOTA FROM ESTUDIANTES WHERE A.NOTA<=ALL(SELECT B.NOTA FROM ESTUDIANTES GROUP BY B.CLASE)

nose si el problema esta en el group by o donde, por ejemplo:

NOMBRE NOTA CLASE
JUAN 5 1
JOSE 4 1
RAMON 3 2
JUANA 1 2
MIKEL 4 3

en este ejemplo deberia salir, Jose Juana y Mikel porque tiene la nota mas baja de cada clase, haber si alguien sabe ayudarme en este problema.

Un saludo y muchas gracias
  #2 (permalink)  
Antiguo 05/11/2013, 04:46
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: sentencia sql

una sencilla en MysQL,
Código MySQL:
Ver original
  1.    NOMBRE,
  2.    NOTA,
  3.    CLASE
  4. FROM ESTUDIANTES
  5.     CLASE,
  6.     NOTA
  7. GROUP BY CLASE, NOTA

Pero, ojo, hay otras formas. No sé si la nota más baja es 3 y hay dos personas con un 3 y quieres que salgan esas dos personas. Para eso hay que hacer subconsulta.
Código MySQL:
Ver original
  1. SELECT NOMBRE, NOTA, CLASE FROM ESTUDIANTES e INNER JOIN
  2. (SELECT MIN(NOTA) MINIMO, CLASE FROM ESTUDIANTES GROUP BY CLASE)t1
  3. ON e.CLASE = t1.CLASE AND e.NOTA = t1.MINIMO

No he probado nada. Esto es al vuelo.
  #3 (permalink)  
Antiguo 05/11/2013, 04:56
 
Fecha de Ingreso: abril-2008
Mensajes: 64
Antigüedad: 16 años
Puntos: 2
Respuesta: sentencia sql

Te agradezco tu ayuda, pero lo que quiero es lograr la nota mas baja de cada clase, el primero me lograria todas las notas, ordenadas y agrupadas, pero agrupadas por la clase y la nota, pero no es eso, igual me e explicado mal, lo que necesito es sacar la nota mas baja habria que meter el ALL o algo asi.

un saludo y gracias por su tiempo
  #4 (permalink)  
Antiguo 05/11/2013, 06:47
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: sentencia sql

Perdona, no lo planteé bien y además añadí errores en la sintaxis. Mira a ver si es esto lo que quieres.
Código mysql:
Ver original
  1. select clase, min(nota) from estudiantes group by clase

Última edición por jurena; 05/11/2013 a las 06:58

Etiquetas: select, sentencia, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:48.