2010-04-22 5 views
0

Est-il possible de sélectionner un champ datetime d'une table et d'un groupe MySQL par la date seulement? J'essaie de générer une liste d'événements qui se produisent à plusieurs reprises, regroupés par la date à laquelle il s'est produit.MySQL select using datetime, grouper par date seulement

Ma table/données ressemble à ceci: (l'horodatage est un champ datetime)

1. 2010-03-21 18:00:00 Event1 
2. 2010-03-21 18:30:00 Event2 
3. 2010-03-30 13:00:00 Event3 
4. 2010-03-30 14:00:00 Event4 

Je veux quelque chose comme de sortie ceci:

March 21st 
1800 - Event 1 
1830 - Event 2 

March 30th 
1300 - Event 3 
1400 - Event 4 

Merci!

+0

Question similaire: http://stackoverflow.com/questions/366603/mysql-sql-group-by-date-only-on-a-datetime-column –

Répondre

2
SELECT DATE_FORMAT(date_column, '%H%i'), DATE_FORMAT(date_column, '%M %D'), event FROM table ORDER BY date_column 

%H%i - 1830

%M%D - March 21st

+0

Merci pour la réponse! – Matt

2

select date_format (created_at, "% YM-% d") que la date du groupe tablename par date

OU

SELECT DATE_FORMAT (date_column , '% H% i') comme heure, événement FROM table ORDER BY DATE_FORMAT (date_column, '% Y-% m-% d'), heure

+0

Merci, je voudrais pouvoir accepter deux réponses! – Matt