Як передати DATETIME як DATE в mysql?


92

Мій запит такий. У мене купа записів, і я хочу згрупувати їх за датою. Але замість дати у моїй базі даних у мене є поле дати та часу. Що мені робити?

select * from follow_queue group by follow_date cast follow_date as date

Це не працює.


2
Спробуйте: select * from follow_queue group by cast(follow_date as date)спочатку.
NawaMan

3
вам не потрібно робити кастинг, просто використовуйте функцію DATE ()
markus

Чи функція DATE () не передає дату і час рядку? Звичайно, це працює для групування за датою, але я думаю, що відповідь NawaMan є більш правильною, виходячи із формулювання питання
DJDave

Відповіді:


179

Використовуйте DATE()функцію:

select * from follow_queue group by DATE(follow_date)

Як отримати "кількість" записів на дату? Просто виберіть поле, порахуйте (*) із групи follow_queue за датою (follow_date)?
Zack Burt

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

2
Групувати по 1? Що це означає?
Zack Burt

11
У цьому випадку це означає групування за першим стовпцем у списку вибору DATE(follow_date). Ви можете зробити це ORDER BYтакож ORDER BY 1, 2, наприклад
ChssPly76,

-7

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html

http://www.tutorialspoint.com/mysql/mysql-date-time-functions.htm

використовувати функцію Date безпосередньо. Сподіваюся, це працює


3
Правильна / та сама відповідь була надана за 5 років до вашого розміщення. Якщо ви хочете запропонувати гіперпосилання, просто додайте їх як коментарі до запитання. Це не цінно як відповідь, і, схоже, кілька інших добровольців погоджуються - спираючись на голоси проти. Не соромтеся видаляти, якщо ви погоджуєтесь з моєю логікою, і ви повернете втрачені очки повторень (якщо ні, Спільнота може вирішити в будь-якому випадку здійснити цю дію від вашого імені).
mickmackusa
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.