group-by - mysql 中,统计一个时间段内每天8时到12时的数据的查询语句怎么写?
高洛峰
高洛峰 2017-04-17 11:04:06
0
1
634

比如
2012-12-11 8:00:00-12:00:00

2012-12-13 8:00:00-12:00:00
这3天内,8点到12点。
查询语句怎么写?

自己写出来了。

EXPLAIN SELECT COUNT(*) FROM fd_member WHERE FROM_UNIXTIME(UNIX_TIMESTAMP(add_time),'%h')>=8 AND FROM_UNIXTIME(UNIX_TIMESTAMP(add_time),'%h')<12 GROUP BY CONVERT(add_time,CHAR(10))

不过,性能是个问题,谁有更好的办法。
表结构:

`mem_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `mem_name` varchar(50) NOT NULL ,
  `mem_pass` varchar(50) NOT NULL ,
  `telephone` varchar(20) DEFAULT NULL,
  `add_time` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`mem_id`),
  UNIQUE KEY `mem_card_id` (`mem_card_id`),
  UNIQUE KEY `mem_name` (`mem_name`)
高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

모든 응답(1)
阿神
SELECT * FROM table_name
WHERE time BETWEEN unix_timestamp(2012-12-11 8:00:00) AND unix_timestamp(2012-12-11 12:00:00)
OR time BETWEEN unix_timestamp(2012-12-12 8:00:00) AND unix_timestamp(2012-12-12 12:00:00)
OR time BETWEEN unix_timestamp(2012-12-13 8:00:00) AND unix_timestamp(2012-12-13 12:00:00)
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿