Memiliki meja dengan kolom seperti: mydate DATETIME
...
Saya punya pertanyaan seperti:
SELECT SUM(foo), mydate FROM a_table GROUP BY a_table.mydate;
Ini akan dikelompokkan berdasarkan penuh datetime
, termasuk jam dan menit. Saya ingin membuat grup dengan, hanya dengan tanggal YYYY/MM/DD
bukan oleh YYYY/MM/DD/HH/mm
.
Adakah yang tahu bagaimana melakukan ini? Saya masih bisa melakukannya (seperti saya atm), secara dinamis dalam kode saya, tapi saya sedang membersihkan kode tempat sampah dan ini dapat dilakukan melalui SQL Saya tidak bisa mengetahui caranya :(.
Jawaban:
Keluarkan datetime ke tanggal, lalu GROUP BY menggunakan sintaks ini:
Atau Anda bisa KELOMPOK OLEH alias sebagai @ orlandu63 disarankan:
Meskipun saya tidak berpikir itu akan membuat perbedaan pada kinerja, itu sedikit lebih jelas.
sumber
Saya menemukan bahwa saya perlu mengelompokkan berdasarkan bulan dan tahun sehingga tidak satu pun di atas bekerja untuk saya. Sebagai gantinya saya menggunakan date_format
sumber
Atau:
Lebih efisien (saya pikir.) Karena Anda tidak perlu membuang tanggal saya dua kali per baris.
sumber
Ini akan memberi jam dengan jumlah dari hari tertentu!
sumber