有大佬能来帮帮忙么

qq_30125065 2018-10-23 03:37:36
数据库time的属性是datatime 现在的查询语句是
SELECT count(*) FROM `tie` WHERE `time` BETWEEN '2018-10-09 07:00:00' AND '2018-10-09 09:00:59'
但是我表内的数据并不只是10月9日的 是一周7天的数据
而我只需要每天07:00:00到09:00:59 这个时间段的数据 不只是要9号的 是一周的该时间段的数据 这要如何写啊
...全文
144 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
二月十六 2018-10-23
  • 打赏
  • 举报
回复
试试这样
select count(*) from `tie` WHERE  DATE_FORMAT(`time`,'%H:%i:%s') BETWEEN '07:00:00' AND '09:00:59'  and DATE_FORMAT(`time`,'%Y-%m-%d') BETWEEN '2018-10-09' AND '2018-10-16'
吉普赛的歌 2018-10-23
  • 打赏
  • 举报
回复
-- sqlserver
SELECT COUNT(*)
FROM   [tie]
WHERE  [time] BETWEEN '2018-10-07' AND '2018-10-14'
AND CONVERT(CHAR(5),[time],14) BETWEEN '07:00' AND '09:00'

-- mysql
SELECT COUNT(*)
FROM   `tie`
WHERE  `time` BETWEEN '2018-10-07' AND '2018-10-14'
AND DATE_FORMAT(FROM_UNIXTIME(`time`),'%H:%i') BETWEEN '07:00' AND '09:00'
最好发一下测试表、测试数据的脚本, 说明数据库类型、版本。

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧