日期:2014-05-16  浏览次数:21118 次

mysql 查询分组语句按时间显示
visittime state
2012-05-07 15:12:11 1
2012-05-07 16:14:32 2
2012-05-07 17:13:58 3

2012-05-08 15:12:11 1
2012-05-08 16:14:32 1
2012-05-08 17:13:58 1

2012-05-09 15:12:11 3
2012-05-09 16:14:32 3
2012-05-09 17:13:58 3
查7-9号显示 
日期 state=1 state=2 state=3
7号 1条 1条 1条 详细
8号 3条 0条 0条 
9号 0条 0条 3条

比如点击日期后面的详细后要查询 7号
时间 state=1 state=2 state=3
1-2点 0条 0条 0条
2-3点
3-4点
.....
15-16点 1条 0条 0条
16-17 1条 0条 0条
....
23-00 0条 0条 0条
数据显示 格式个上面一样不过是把日期换成了时间
这两条语句怎么写啊

------解决方案--------------------
SELECT DATE_FORMAT(visittime ,'%Y%m%d'),
sum(case when state = 1 then 1 else 0 end) as state1,
sum(case when state = 2 then 1 else 0 end) as state2,
sum(case when state = 3 then 1 else 0 end) as state3
from Ytable group by DATE_FORMAT(visittime ,'%Y%m%d')
---
更详细的类似的