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

agrupar registros por años

Estas en el tema de agrupar registros por años en el foro de Mysql en Foros del Web. Hola, quería saber que consulta tengo que utilizar para poder sacar los registros clasificados por años y como lo montaría en una table Tengo esto: ...
  #1 (permalink)  
Antiguo 24/02/2010, 04:28
Avatar de luicos  
Fecha de Ingreso: febrero-2010
Ubicación: Galicia
Mensajes: 106
Antigüedad: 14 años, 2 meses
Puntos: 0
agrupar registros por años

Hola, quería saber que consulta tengo que utilizar para poder sacar los registros clasificados por años y como lo montaría en una table

Tengo esto:

i
Código PHP:
nclude"../conexion.php";
$sql9="SELECT codigo, fechaprueba, tipo, resultado, enlace, conclusiones, propuestas FROM tabla11 WHERE codigo=1";
$result9 mysql_query($sql9,$conexion) or die(mysql_error());    
                
while(
$row mysql_fetch_array($result9))
    {                                                    
    echo 
"<tr>";
    echo 
"<td>" .$row['codigo']." </td>";                                        
    echo 
"<td >" .$row['fechaprueba']. "</td>";
    echo 
"<td>" .($row['tipo']). "</td>";
    echo 
"<td >" .($row['resultado']). "</td>";
    echo 
"<td><a href='" .$row['enlace']. "'><u>Ver</u></a></td>";
    echo 
"<td>" .($row['conclusiones']). "</td>";
    echo 
"<td>" .($row['propuestas']). "</td>";                                            
echo 
"</tr>";
include
"../cerrar_conexion.php"

El año lo saco con:
YEAR(fechaprueba) AS año

Con la consulta saco los registros, pero yo quería que en la tabla que se visualizan todos los datos me pusiese una fila con el año,es decir, que si tengo 40 registros y 10 son de 2010 y 30 de 2009 me tendría que poner una fila que ponga 2010 y a continuacion los registros de 2010 y luego otra fila de 2009 y a continuacion los registros de 2009

¿Que consulta tengo que utilizar y que codigo PHP para hacer esto?
Gracias
  #2 (permalink)  
Antiguo 24/02/2010, 05:09
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: agrupar registros por años

Para que te devuelva la tabla de datos ordenada por año, es simplemente agregando un ORDER BY YEAR(fechaprueba), fechaprueba:
Código MySQL:
Ver original
  1. SELECT codigo, fechaprueba, tipo, resultado, enlace, conclusiones, propuestas
  2. FROM tabla11
  3. WHERE codigo=1
  4. ORDER BY YEAR(fechaprueba) DESC, fechaprueba ASC;
El primer valor hará que las fechas se acumulen por año en orden decreciente, y el segundo valor para que se ordenen en forma creciente las del mismo año.
Pero una consulta no te puede poner subtítulos. El SQL no está creado para eso, El tipo de reporte que tu quieres implica desarrollar OLAP o en todo caso hacerlo por PHP.

Vale decir: Toma l atabla de datos y en la medida que la vas cargando, le agregas la línea con el año en tu página.
El código PHP no se puede poner aquí porque las reglas de este foro prohiben poner códigos de programación, ya que para eso están los foros de esos lenguajes.
Pregunta la segunda parte en el Foro de PHP
__________________
¿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 24/02/2010, 05:55
Avatar de luicos  
Fecha de Ingreso: febrero-2010
Ubicación: Galicia
Mensajes: 106
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: agrupar registros por años

Gracias, perfecto

Ahora voy a preguntar en el foro de PHP como poner esa fila encabezando los registros.

Dejo el enlace: http://www.forosdelweb.com/f18/agrupar-registros-por-anos-781704/

Etiquetas: agrupar, registros
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 18:20.