说我想选择两个日期之间的所有记录加上一条记录之前和该日期之后的一条记录?所有记录按日期排序。SELECT记录MySQL:在日期+ 1之间
回答
(select * from t where date < start_date order by date desc limit 1)
union (select * FROM t WHERE date between start_date and end_date)
union (select * from t where date > end_date order by date asc limit 1)
您可以使用联合限制语句的联合。像下面的东西(未经测试,无法访问MySQL)。
(select column from table where datefield > startdate and datefield < stopdate)
union
(select column from table where datefield < startdate order by datefield desc limit 1)
union
(select column from table where datefield > stopdate order by datefield limit 1)
这会给你下一行,不管它在哪里落在明天。
感谢您的语法修复,小马。
根据OP的措辞,这似乎是正确的,但不知道是否有意留下**开始/停止日期,或者范围应该是> =还是<=? – 2011-05-06 17:31:26
MySQL错误1064-语法错误,因为您无法在UNION语句中将首次置于括号/父项中的LIMIT/ORDER BY应用于特定查询的情况下,无法在UNION中使用LIMIT或ORDER BY。此外,联盟会删除重复 - UNION ALL不会,并且速度更快。 – 2011-05-06 17:43:59
那么每个语句都变成了括号? – 2011-05-06 17:46:03
SELECT *
FROM table
WHERE date BETWEEN DATE_ADD(current_date(), INTERAL -1 DAY)
AND DATE_ADD(current_date(), INTERVAL 1 DAY);
+1:正确,并且如果“日期”列中存在索引,将使用索引。 – 2011-05-06 17:32:24
这不包括在所有/ **日期前的**记录吗?以为OP只需要在每一端的记录... – 2011-05-06 17:33:47
这听起来不像他要求的日期+ 1天。我读它是因为他要求提供日期中的记录以及下一个记录,无论是第二天还是结束日期之后的一年。 – 2011-05-06 17:34:15
您可以使用函数来增加或减少值,如:
select * from table where field1 < ADDDATE( CURTIME() , INTERVAL 1 DAY)
入住这link那里有一些例子。
- 1. mysql在日期间找到记录
- 2. MySQL日期和时间间隔 - 日期间的记录
- 3. mysql:获取两个日期时间之间的记录数
- 4. 使用mysql在两个日期之间获取记录
- 5. MySQL在年份和日期之间选择记录
- 6. mysql查询在特定日期之间获取记录
- 7. SELECT DISTINCT记录分钟日期
- 8. MySQL返回两个日期之间的所有记录
- 9. Mysql查询检索使用两个日期之间的记录
- 10. 获取mysql中两个日期之间的记录
- 11. Java的MySQL删除日期之间的记录语法错误
- 12. 2个日期之间获取记录有人选择php mysql
- 13. TSQL SELECT上一次日期的记录
- 14. mySQL SELECT在日期和条件之间选择
- 15. MYSQL如何在SELECT之间做一个日期?
- 16. 开始日期与结束日期之间的记录
- 17. 过滤gridview日期之间没有得到日期的记录
- 18. 不同日期的SELECT记录SQL
- 19. 日期之间的MySQL日期
- 20. Mysql不在时间和日期之间
- 21. MySQL - 在日期记录中搜索
- 22. 查询在两个日期和时间之间获取记录
- 23. 如何在两个日期和时间之间选择记录?
- 24. 如何让同一日期在两个日期之间的所有记录,没有使用时间在MySQL
- 25. MySQL之间的日期
- 26. MySQL查询日期之间
- 27. PHP MySQL之间的日期
- 28. 在MySql数据库中使用PHP在两个日期之间选择记录
- 29. 2日期之间的SQL SELECT查询
- 30. SQL SELECT两者之间由日期
它是日期还是日期?日期时间之前/之后的一条记录可能相隔数秒钟......需要在此处明确。 – 2011-05-06 17:32:33