Primero imagino que en la base de datos tendras un campo del tipo fecha (date) donde se almacena el dia, mes, año pero no en el formato que quisieras para eso simplemente crea una funcion que se encargue de formatear la fecha almacenada.
Código PHP:
date("F j, Y", strtotime($row['mi_fecha'])
// devuelve December 2, 2008
Mas datos al respecto en
http://www.php.net/date
¿Como agrupo por fecha? Pues en la consulta sql, por ejemplo del mes de noviembre
Código:
SELECT * FROM mitabla WHERE MONTH(mifecha)=11
¿Como creo un link? Simplemente en tu archivo PHP haz un link que envie como parametro el mes, dia o año y el PHP que lo reciba que averigue que le esta enviando. Por ejemplo para mes
Código PHP:
<a href="ver_datos.php?mes=11">Ver lo de noviembre</a>
¿Como se que estoy buscando?
Pues crea unos IF o CASE que detecten si le etan enviando mes, año o dia y segun eso ejecuten la consulta SQL correspondiente