Как передать 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)

Как мне получить «количество» записей на дату? Просто выберите поле, подсчитайте (*) из группы 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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.