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 groupby follow_date cast follow_date asdate
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
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
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).
select * from follow_queue group by cast(follow_date as date)
najpierw.Odpowiedzi:
Użyj
DATE()
funkcji:select * from follow_queue group by DATE(follow_date)
źródło
select DATE(follow_date), count(*) from follow_queue group by 1
DATE(follow_date)
. Możesz to zrobićORDER BY
również -ORDER BY 1, 2
na przykładhttp://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
źródło