Jak rzutować DATETIME jako DATE w mysql?

92

Moje pytanie jest takie. Mam kilka wpisów i chcę je pogrupować według dat. Ale zamiast daty w mojej bazie danych, mam pole daty i godziny. Co ja robię?

select * from follow_queue group by follow_date cast follow_date as date

To nie działa.

Zack Burt
źródło
2
Spróbuj: select * from follow_queue group by cast(follow_date as date)najpierw.
NawaMan
3
nie musisz rzucać, po prostu użyj funkcji DATE ()
markus
Czy funkcja DATE () nie rzutuje daty i godziny na ciąg? Jasne, działa to w przypadku grupowania według daty, ale myślę, że odpowiedź NawaMana jest bardziej poprawna w oparciu o sformułowanie pytania
DJDave,

Odpowiedzi:

179

Użyj DATE()funkcji:

select * from follow_queue group by DATE(follow_date)
ChssPly76
źródło
Jak uzyskać „liczbę” zgłoszeń według daty? Po prostu wybierz pole, zlicz (*) z grupy follow_queue według daty (follow_date)?
Zack Burt
3
Tak. select DATE(follow_date), count(*) from follow_queue group by 1
ChssPly76
2
Pogrupować według 1? Co to znaczy?
Zack Burt
11
W tym przypadku oznacza to grupowanie według pierwszej kolumny na liście wyboru DATE(follow_date). Możesz to zrobić ORDER BYrównież - ORDER BY 1, 2na przykład
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

użyj funkcji Date bezpośrednio. Mam nadzieję, że to działa

Abhi
źródło
3
Prawidłowa / ta sama odpowiedź została udzielona 5 lat przed wysłaniem. Jeśli chcesz zaoferować hiperłącza, po prostu dodaj je jako komentarze pod pytaniem. Nie jest to cenna odpowiedź i wydaje się, że kilku innych wolontariuszy zgadza się z tym - na podstawie głosów przeciw. Zapraszam do usunięcia, jeśli zgadzasz się z moją logiką i odzyskasz utracone punkty rep (jeśli nie, Społeczność może zdecydować się na podjęcie tego działania w Twoim imieniu i tak).
mickmackusa