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

Funcion max

Estas en el tema de Funcion max en el foro de Mysql en Foros del Web. no se si sea el lugar correcta soy nuevo, necesito ayuda, la consulta es la siguiente: /*3. Visualice el nombre de curso y la tarifa ...
  #1 (permalink)  
Antiguo 23/10/2013, 17:29
 
Fecha de Ingreso: octubre-2013
Mensajes: 12
Antigüedad: 10 años, 5 meses
Puntos: 0
Pregunta Funcion max

no se si sea el lugar correcta soy nuevo, necesito ayuda, la consulta es la siguiente:

/*3. Visualice el nombre de curso y la tarifa de los 2 cursos más caros.*/

quisiera saber como hacerlo como hacer para que me aparezcan lo DOS CURSOS MAS CAROS, no se si es con MAX ya que solo me devuelve el mas alto...
  #2 (permalink)  
Antiguo 23/10/2013, 17:45
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Funcion max

Muestranos cómo lo plantearías tu, nosotros te diremos si vas bien.
No hacemos trabajos prácticos ni regalamos soluciones. Aconsejamos y guiamos para aprender a solucionar.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 23/10/2013, 19:31
 
Fecha de Ingreso: octubre-2013
Mensajes: 12
Antigüedad: 10 años, 5 meses
Puntos: 0
Respuesta: Funcion max

Perdon por la demora, lo plantie de la siguiente forma

select nomcurso, max(Tarifacur)
from curso
order by Tarifacur asc
limit 2;

mi tabla curso solo tiene 4 campos de ellos solo quiero seleccionar el nombre y la tarifa de los dos cursos mas caros, estaba pensando de la forma que indique (arriba) tmbn pense en una subconsulta como me dijo un amigo pero no me funcione o quizas no la supe plantear....
  #4 (permalink)  
Antiguo 24/10/2013, 02:02
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Funcion max

Código MySQL:
Ver original
  1. SELECT nomcurso, Tarifacur
  2. FROM curso
  3. ORDER BY Tarifacur DESC

si usas MAX como lo estabas usando, te devuelve el valor máximo de las tarifas para todos los registros, lo tengan o no. La sintaxis que te propongo ordena por Tarifacur descendente y limita a 2. No he añadido después ningún otro criterio de ordenación por lo que te traerá los dos cursos de tarifa más alto en el orden en que están cargados en la base. Si cargaste un tercero y tiene la misma tarifa, ese no saldrá. Y lo hago así porque tú buscas los dos cursos más caros, no dos cursos cuyo coste sea el valor máximo, pues eso es diferente. Imagina que el precio más alto son 2000 euros, pero eso lo cuesta solo un curso; pero el segundo vale 1999. Si quieres traerte los dos, usa lo que te propongo; si en ese caso solo quieres el primero, dínoslo y te ayudaremos a montar la subconsulta.

Última edición por jurena; 24/10/2013 a las 02:10

Etiquetas: max
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 15:32.