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

sacar el mayor numero de una columna

Estas en el tema de sacar el mayor numero de una columna en el foro de Mysql en Foros del Web. hola amigos en MYsql estoy tratando de sacar el mayor valor de una columna, pero me sale null cuando no tiene ningun registro. select max(cast(cod_acc ...
  #1 (permalink)  
Antiguo 02/05/2011, 09:52
 
Fecha de Ingreso: agosto-2009
Ubicación: Lima
Mensajes: 226
Antigüedad: 14 años, 7 meses
Puntos: 3
sacar el mayor numero de una columna

hola amigos

en MYsql estoy tratando de sacar el mayor valor de una columna, pero me sale null cuando no tiene ningun registro.


select max(cast(cod_acc as decimal(3,0)))+1 as codigoExterno from accion


como puedo hacer para que me salga el mayor valor de la columna e incrementarlo en 1??


gracias

LA
  #2 (permalink)  
Antiguo 02/05/2011, 10:52
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: sacar el mayor numero de una columna

Te recomiendo que utilices en tu columna la propiedad auto_increment.
salduos hicolu
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 02/05/2011, 11:07
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: sacar el mayor numero de una columna

Cita:
en MYsql estoy tratando de sacar el mayor valor de una columna, pero me sale null cuando no tiene ningún registro.
Eso es perfectamente lógico: SI la tabla no tiene registros, no existe nada sobre lo que calcular el máximo... En definitiva en un resultado indeterminable.
¿Qué tiene de raro?
Cita:
como puedo hacer para que me salga el mayor valor de la columna e incrementarlo en 1??
Por empezar, hacer esa consulta sobre una tabla vacía no tiene ningún sentido. En todo caso lo que deberías hacer primero es verificar que haya algo que calcular... Es decir: contar los registros y calcular el máximo si y sólo si hay más de un registro.
Fuera de eso, bajo ciertas condiciones, puedes usar IFNULL() para resolver casos con NULL, pero no dará resultado si no existen registros en la tabla.
Código MySQL:
Ver original
  1. SELECT IFNULL(MAX(CAST(cod_acc AS UNSIGNED)), 0) codigoExterno FROM accion

Pregunta: ¿Para qué defines como DECIMAL si le vas a poner cero decimales a ese valor. Para eso usa AS SIGNED o AS UNSIGNED, que te devuelven enteros...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 03/08/2012, 10:39
Avatar de dreg101  
Fecha de Ingreso: julio-2008
Mensajes: 11
Antigüedad: 15 años, 9 meses
Puntos: 0
Exclamación Respuesta: sacar el mayor numero de una columna

Si se puede compadrito, lo acabo de probar gracias a la info que te pusieron arriba, mira, si la tabla no tiene registros te trae un "1" y si ya tiene valores te trae el ultimo mas uno.
Código:
SELECT ifnull(MAX(campo)+1,1 from tu tabla
en PHP no se como sea ya que estoy haciendo consultas con JAVA pero ese es el query que te debe jalar. Saludos

Etiquetas: columna, mayor, numero
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 05:34.