Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

php mysql agrupar por data com formato aaaa-mm-dd


Você deve realmente usar php para fazer isso. Mas como a maior parte do sistema atual separa a lógica da exibição, eu usaria apenas uma passagem e não (NUMBER OF DAYS + 1) SELECTs, e prepararia uma matriz que posso reutilizar mais tarde para minha exibição.
$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'];
}

E então, quando eu precisar (através de um modelo ou sua "visualização")
foreach($foo as $date => $events) {
    echo $date . ":\n\t";          
    echo implode(",\n\t", $events);
    echo "\n";
}

para que ele se ajuste ao formato que você definiu para si mesmo.

Espero que tenha ajudado