Comment convertir DATETIME en DATE dans mysql?


92

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

select * from follow_queue group by follow_date cast follow_date as date

Cela ne marche pas.


2
Essayez: d' select * from follow_queue group by cast(follow_date as date)abord.
NawaMan

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

La fonction DATE () ne convertit-elle pas le datetime en 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 en fonction de la formulation de la question
DJDave

Réponses:


179

Utiliser la DATE()fonction:

select * from follow_queue group by DATE(follow_date)

Comment obtenir le "décompte" des entrées par date? Sélectionnez simplement le champ, comptez (*) à partir du groupe follow_queue par date (follow_date)?
Zack Burt

3
Ouaip. select DATE(follow_date), count(*) from follow_queue group by 1
ChssPly76

2
Grouper par 1? Qu'est-ce que ça veut dire?
Zack Burt

11
Cela signifie grouper par première colonne dans la liste de sélection, dans ce cas DATE(follow_date). Vous pouvez également le faire avec ORDER BY- ORDER BY 1, 2, par exemple
ChssPly76

-7

3
La bonne / même réponse a été fournie 5 ans avant votre affichage. Si vous souhaitez proposer les hyperliens, ajoutez-les simplement en tant que commentaires sous la question. Ce n'est pas une réponse valable et il semble que plusieurs autres volontaires soient d'accord - sur la base des votes négatifs. N'hésitez pas à supprimer si vous êtes d'accord avec ma logique et vous récupérerez les points de rep perdus (sinon, la Communauté peut décider de prendre cette action en votre nom de toute façon).
mickmackusa
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.