求与当前时间一前一后的记录的sql

zimu312500 2011-12-25 10:49:04
ID TIME
1 6:00
2 7:00
3 8:00

如果现在是7:30,则返回第2,3条记录
请不使用union all语句哦,非常感谢!
...全文
36 点赞 收藏 4
写回复
4 条回复
zimu312500 2011年12月28日
[Quote=引用 1 楼 rucypli 的回复:]

select *
from tb
where substring(time,':',1)>='7:30'
order by id
limit 2;
[/Quote]
可能rucypli 没有理解我的意思,我要的是比7:30的最近的一条记录和比7:30小的一条记录,你的答案肯定是有问题的,如果我有多条7:30之前的记录,那我就找不到7:30之后的记录了,那不过同样感谢你!
回复 点赞
ACMAIN_CHM 2011年12月26日
select *
from table1 a
where (`TIME`<now() and not exists (select 1 from table1 where `TIME`<now() and `TIME`>a.`TIME`))
or (`TIME`>now() and not exists (select 1 from table1 where `TIME`>now() and `TIME`<a.`TIME`))
回复 点赞
wwwwb 2011年12月26日
详细说明
SELECT * FROM `qbb`
WHERE TIMEDIFF(st,'7:30')>0 OR HOUR(TIME(st))=HOUR(TIME('7:30'))

or

SELECT * FROM `qbb`
WHERE HOUR(TIME(st))>=HOUR(TIME('7:30'))
回复 点赞
rucypli 2011年12月25日
select *
from tb
where substring(time,':',1)>='7:30'
order by id
limit 2;
回复 点赞
发动态
发帖子
MySQL
创建于2007-09-28

2.4w+

社区成员

5.5w+

社区内容

MySQL相关内容讨论专区
社区公告
暂无公告