sql >> Base de Datos >  >> RDS >> Mysql

php mysql agrupar por fecha con formato aaaa-mm-dd

De hecho, debería usar php para hacer esto. Pero dado que la mayor parte del sistema actual separa la lógica de la pantalla, usaría solo una pasada y no (NÚMERO DE DÍAS + 1) SELECCIONES, y prepararía una matriz que puedo reutilizar más tarde para mi pantalla.

$query = "SELECT DATE_FORMAT(date, '%M %D') as d, name FROM yourtable ORDER BY date";
$foo=array();
$result = mysql_query($query);
while($row = mysql_fetch_assoc($result)) {
    //some logic to test if it's safe to add the name
    $foo[$row['d']][]=$row['name'];
}

Y luego, cuando lo necesite (a través de una plantilla o su "vista")

foreach($foo as $date => $events) {
    echo $date . ":\n\t";          
    echo implode(",\n\t", $events);
    echo "\n";
}

para que se ajuste al formato que usted mismo estableció.

Espero haber ayudado