现在有一个表table1,如下: date msg tel 2010-10-22 15:19:27 qwererqe 12343532145 2010-10-24 13:19:33 ertwertewrt 345345435 2010-10-22 11:14:27 rgrewtfer 23435434534 2010-10-23 15:19:20 qwerwre wqrerqwr 现在要统计每天(不区分时分秒)的记录数,想得到的结果如下: 日期 记录数 2010-10-22 2 2010-10-23 1 2010-10-24 1 需要说明的是,我的date值在数据库记录的是time()类型,如:1287731967 在这里是为了方便大家理解才弄成了这个类型。
2010-10-22 17:37
提问者采纳
关注一下,我个人习惯是不用unix时间戳 这样就直接可以这么查询 SELECT left( `date` , 10 ) as dt ,count(*) as cou FROM `msg_list` WHERE 1 group by dt desc mysql数据库支持函数unix_timestamp()所以你可以这么做: SELECT unix_timestamp(left( from_unixtime(`date`) , 10 )) as dt ,count(*) as cou FROM `msg_list` WHERE 1 group by dt desc 只是个人感觉太麻烦,所以关注下比较好的答案
提醒:
1.mysql中 left函数的使用,即截取字符串中前10个字符
2.通过group by对数据进行了分组显示