MySQL Group By Hari, Bulan, dan Tahun Berdasarkan Kolom Timestamp

Ada kondisi dimana Anda ingin mengambil jumlah row per tanggal, sementara tanggal disini adalam kolom timestamp ( mysql timestamp, bukan unix timestamp ).
Hal ini mungkin menyulitkan mengingat timestamp akan menyimpan tahun sampai milisecond.

Sebagai contoh saya memiliki tabel seperti ini :
mysql> SELECT `sid`, `sdate` FROM `t_stats`;
+-----+---------------------+
| sid | sdate               |
+-----+---------------------+
|   1 | 2011-10-10 16:24:53 |
|   2 | 2011-10-10 16:25:39 |
|   3 | 2011-10-10 16:28:05 |
|   4 | 2011-10-10 16:30:14 |
|   5 | 2011-10-10 16:30:34 |
|   6 | 2011-10-10 16:32:19 |
|   7 | 2011-10-10 16:33:05 |
|   8 | 2011-10-10 16:36:33 |
|   9 | 2011-10-10 16:38:13 |
|  10 | 2011-10-10 16:44:05 |
| ... | ...                 |
+-----+---------------------+
165764 rows in set (0.00 sec)
Untuk dapat menghitung jumlah row pada tanggal, bulan, dan tahun yang sama, Anda bisa menggunakan bentuk query seperti ini :
SELECT COUNT(*) AS `count`, DATE_FORMAT(sdate, '%Y-%m-%d') AS `the_date` 
       FROM `t_stats` GROUP BY `the_date`;
Sehingga akan menghasilkan bentuk tabel seperti ini :
mysql> SELECT COUNT(*) AS `count`, DATE_FORMAT(sdate, '%Y-%m-%d') AS `the_date` 
              FROM `t_stats` GROUP BY `the_date`;
+-------+------------+
| count | the_date   |
+-------+------------+
|    73 | 2011-10-10 |
|    12 | 2011-10-11 |
|    18 | 2011-10-13 |
|     2 | 2011-10-14 |
|    23 | 2011-10-16 |
|   109 | 2011-10-17 |
|    61 | 2011-10-18 |
|  1171 | 2011-10-19 |
|   984 | 2011-10-20 |
|   912 | 2011-10-21 |
|   ... | ...        |
+-------+------------+
129 rows in set (0.28 sec)
Begitu juga dengan bulan, dan tahun : Untuk group berdasarkan bulan, bisa dengan bentuk query :
SELECT COUNT(*) AS `count`, DATE_FORMAT(sdate, '%Y-%m') AS `the_month` 
       FROM `t_stats` GROUP BY `the_month`;
Untuk group berdasarkan tahun, bisa dengan bentuk query :
SELECT COUNT(*) AS `count`, DATE_FORMAT(sdate, '%Y') AS `the_year` 
       FROM `t_stats` GROUP BY `the_year`;