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.


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)

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

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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.