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

Mostrar usuarios mayores de 25 años?

Estas en el tema de Mostrar usuarios mayores de 25 años? en el foro de Mysql en Foros del Web. Buenas Como puedo obtener los usuarios que tienen una edad mayor a 25 años?, tengo agrupados por localidad pero ademas necesito saber los de esa ...
  #1 (permalink)  
Antiguo 19/01/2010, 06:41
 
Fecha de Ingreso: agosto-2003
Mensajes: 906
Antigüedad: 20 años, 8 meses
Puntos: 3
Mostrar usuarios mayores de 25 años?

Buenas

Como puedo obtener los usuarios que tienen una edad mayor a 25 años?, tengo agrupados por localidad pero ademas necesito saber los de esa localidad cuantos hay mayores a 25 años...


la fecha la tengo guardada en el campo value, sucede que lo tengo asi:

Código PHP:
a:3:{s:3:"day";s:1:"3";s:5:"month";s:1:"5";s:4:"year";s:4:"1982";} 
Como hago para sacar la edad mayor a 25 con ese formato de entrada?
  #2 (permalink)  
Antiguo 19/01/2010, 06:44
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: Mostrar usuarios mayores de 25 años?

Postea en el foro de PHP, porque eso no es un código SQL... Y en este foro se trata de SQL.
Desde MySQL, con ese valor dentro de un campo de la tabla no se puede hacer nada sin enormes complicaciones.
__________________
¿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 19/01/2010, 06:47
 
Fecha de Ingreso: agosto-2003
Mensajes: 906
Antigüedad: 20 años, 8 meses
Puntos: 3
Respuesta: Mostrar usuarios mayores de 25 años?

Que tiene que ver con PHP?, yo quiero hacer una consulta con query browser para mostrar esos datos...ni uso php...estoy mostrando desde la db...que php los haya guardado asi es otra cosa...
  #4 (permalink)  
Antiguo 19/01/2010, 07:00
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: Mostrar usuarios mayores de 25 años?

Esto:
Cita:
a:3:{s:3:"day";s:1:"3";s:5:"month";s:1:"5";s:4:"ye ar";s:4:"1982";}
No es transformable a un DATE o DATETIME, por lo que entiendo que no es un dato válido para poder hacer un cálculo de fechas, que sería simplemente algo así:
Código MySQL:
Ver original
  1. SELECT TIMESTAMPDIFF(YEAR, fechainicia, fechafinal);
o bien:
Código MySQL:
Ver original
  1. FROM tabla
  2. WHERE TIMESTAMPDIFF(YEAR, fechainicia, CURDATE()) > 25;

¿Se comprende la idea?
Para que una sentencia así funcione el contenido de ese campo debería ser un valor DATETIME, DATE o TIMESTAMP válido, y no es el caso.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 19/01/2010, 08:28
 
Fecha de Ingreso: agosto-2003
Mensajes: 906
Antigüedad: 20 años, 8 meses
Puntos: 3
Respuesta: Mostrar usuarios mayores de 25 años?

Como no se puede?, con un simple SELECT FROM_UNIXTIME pude....ahora vere usando la sentencia que pasaste, gracias
  #6 (permalink)  
Antiguo 19/01/2010, 08:43
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: Mostrar usuarios mayores de 25 años?

Ese tipo de detalles debes darlo de entrada, porque esto:
Cita:
a:3:{s:3:"day";s:1:"3";s:5:"month";s:1:"5";s:4:"ye ar";s:4:"1982";}
parecía cualquier cosa menos una fecha.... Por si no te diste cuenta, en ningún momento aclaraste que estaba en un formato UNIXTIME, y lo pusiste entre etiquetas de "Código PHP", lo que tiende a confundir.


La función queda un poco larga,pero sería así:
Código MySQL:
Ver original
  1. SELECT TIMESTAMPDIFF(YEAR,DATE(FROM_UNIXTIME('a:3:{s:3:"day";s:1:"3";s:5:"month";s:1:"5";s:4:"year";s:4:"1982";}')), CURDATE());
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 19/01/2010, 08:56
 
Fecha de Ingreso: agosto-2003
Mensajes: 906
Antigüedad: 20 años, 8 meses
Puntos: 3
Respuesta: Mostrar usuarios mayores de 25 años?

Genial!!!!, me saca la edad muy bien, solo resta hacer mientras sea mayor? como mostras arriba...
  #8 (permalink)  
Antiguo 19/01/2010, 09:30
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: Mostrar usuarios mayores de 25 años?

Exacto. La función la debes usar en el WHERE para determinar el conjunto que quieres seleccionar, y en lugar del string, poner el campo de la tabla donde se guardan esos datos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 19/01/2010 a las 09:39

Etiquetas: usuarios
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 13:45.