Как передать DATETIME как DATE в mysql?

92

Мой запрос такой. У меня есть несколько записей, и я хочу сгруппировать их по дате. Но вместо даты в моей базе данных у меня есть поле datetime. Что я делаю?

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 ()
Маркус
Разве функция DATE () не преобразует дату и время в строку? Конечно, это работает для группировки по дате, но я думаю, что ответ NawaMan более правильный, исходя из формулировки вопроса
DJDave

Ответы:

179

DATE()Функция использования :

select * from follow_queue group by DATE(follow_date)
ЧссПлы76
источник
Как мне получить «количество» записей на дату? Просто выберите поле, подсчитайте (*) из группы follow_queue по дате (follow_date)?
Зак Берт,
3
Ага. select DATE(follow_date), count(*) from follow_queue group by 1
ChssPly76
2
Группировать по 1? Что это значит?
Зак Берт,
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