首页 | 新闻 | 交流 | 问吧 | 文档 | 手册 | 下载 | 博客

收藏此问题 发表新评论

mysql最大值比较

表info,里面有个createTime的字段,我想看看最大的createTime是否比某个日期小,如果成立就选出来,sql该怎么写呢,不能用子查询。
大概意思就像这样(这条sql是错误的):
SELECT * from info WHERE MAX(createTime)<'2014-02-14 00:00:00'


昵称: lmboy@126.com  时间: 2013-05-28 12:03:18
SELECT * from info WHERE  createTime<'2014-02-14 00:00:00' order by createTime desc limit 0,1
昵称: x_iaoyuer  时间: 2013-05-28 12:48:38
x_iaoyuer 发表于 2013-5-28 12:48
SELECT * from info WHERE  createTime

这样选出来的数据是  小于 2014-02-14 00:00:00的最大的时间
和我的需求不符
昵称: lmboy@126.com  时间: 2013-05-28 13:01:05
再牛逼的技术,也无法坦然面对蛋疼的需求
昵称: iminto  时间: 2013-05-28 13:19:07
lmboy@126.com 发表于 2013-5-28 13:01
这样选出来的数据是  小于 2014-02-14 00:00:00的最大的时间
和我的需求不符

那你就去大于这个时间的记录呗,如果存在的话就是:最大的createTime比某个日期大(至少是等于),如果记录不存在,那就是最大的createTime比某个日期小,呵呵
于是,抄写修改下小雨的sql得到:SELECT * from info WHERE MAX(createTime)>='2014-02-14 00:00:00'
昵称: asmodai  时间: 2013-05-28 15:32:19
SELECT MAX(createTime)  from info WHERE createTime<'2014-02-14 00:00:00'
这个可以,你写错了
昵称: kiss''  时间: 2013-05-28 15:44:12