Come lanciare DATETIME come DATA in mysql?


92

La mia domanda è questa. Ho un sacco di voci e voglio raggrupparle per data. Ma invece di avere la data nel mio database, ho un campo datetime. Cosa faccio?

select * from follow_queue group by follow_date cast follow_date as date

Non funziona.


2
Prova: select * from follow_queue group by cast(follow_date as date)prima.
NawaMan,

3
non è necessario eseguire il cast, basta usare la funzione DATE ()
markus

La funzione DATE () non esegue il cast del datetime su una stringa? Certo, funziona per il raggruppamento per data, ma penso che la risposta di NawaMan sia più corretta in base alla formulazione della domanda
DJDave,

Risposte:


178

Usa DATE()funzione:

select * from follow_queue group by DATE(follow_date)

Come ottengo il "conteggio" delle voci per data? Basta selezionare il campo, contare (*) dal gruppo follow_queue per data (follow_date)?
Zack Burt,

3
Sì. select DATE(follow_date), count(*) from follow_queue group by 1
ChssPly76

2
Gruppo per 1? Cosa significa?
Zack Burt,

11
Significa raggruppare per prima colonna nell'elenco di selezione, in questo caso DATE(follow_date). Puoi farlo anche con ORDER BY- ORDER BY 1, 2, ad esempio
ChssPly76

-7

3
La stessa risposta corretta è stata fornita 5 anni prima della pubblicazione. Se vuoi offrire i collegamenti ipertestuali, aggiungili come commenti sotto la domanda. Questa non è valida come risposta e sembra che molti altri volontari siano d'accordo, sulla base dei voti negativi. Sentiti libero di eliminare se sei d'accordo con la mia logica e recupererai i punti di ripetizione persi (in caso contrario, la community potrebbe decidere di intraprendere comunque questa azione per tuo conto).
mickmackusa
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.