2009-09-23 9 views
69

Ma question est la suivante. J'ai un tas d'entrées et je veux les regrouper par date. Mais au lieu d'avoir une date dans ma base de données, j'ai un champ datetime. Que fais-je?Comment lancer DATETIME en tant que DATE dans mysql?

select * from follow_queue group by follow_date cast follow_date as date 

Cela ne fonctionne pas.

+1

Essayez: 'select * from follow_queue groupe par cast (follow_date comme date)' first. – NawaMan

+2

vous n'avez pas besoin de transtyper, utilisez simplement la fonction DATE() – markus

+0

La fonction DATE() n'attribue-t-elle pas le datetime à une chaîne? Bien sûr, cela fonctionne pour le regroupement par date, mais je pense que la réponse de NawaMan est plus correcte basée sur la formulation de la question – DJDave

Répondre

130

Utilisez la fonction DATE():

select * from follow_queue group by DATE(follow_date) 
+0

Comment obtenir le "compte" pour les entrées par date? Vous n'avez qu'à sélectionner le champ, compter (*) du groupe follow_queue par date (follow_date)? –

+2

Yup. 'select DATE (follow_date), compte (*) du groupe follow_queue par 1' – ChssPly76

+2

Group by 1? Qu'est-ce que ça veut dire? –

Questions connexes