Наистина трябва да използвате php, за да направите това. Но тъй като по-голямата част от текущата система отделя логиката от дисплея, бих използвал само един проход, а не (БРОЙ ДНИ + 1) SELECT, и бих подготвил масив, който мога да използвам по-късно за моя дисплей.
$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'];
}
И тогава, когато имам нужда от него (чрез шаблон или вашия "изглед")
foreach($foo as $date => $events) {
echo $date . ":\n\t";
echo implode(",\n\t", $events);
echo "\n";
}
така че отговаря на формата, който сте задали за вас.
Надявам се това да е помогнало