php - 获取mysql中最近的下一个日期记录

标签 php mysql sql date

我有一个事件表。我使用它来显示今天的事件。
SELECT * 来自`special_banner_tbl` 其中 `SPLBANER_pubsdate` = current_date

如果今天没有事件,则必须显示更接近当前日期的 future 一天的记录。
如果表格像..
------------------
future_date
--------- ---------
2013年11月30日
2013年11月30日
2013年12月2日
2013年12月3日
03 -12-2013
----------------------
它将显示下一个最近的日期30-11-2013 记录.. 类似。

SELECT * FROM `special_banner_tbl` WHERE `SPLBANNER_pubsdate` = Nest_nearest_date_records

仅记录一个最近的 future 日期,没有任何限制。例如
-------------- --------------
事件           future 日期
---- ----------- ----------------
第 30 场事件   2013 年 11 月 30 日
第 30 场事件   2013 年 11 月 30 日
--------------------------------------------

最佳答案

无论如何,我会为这种情况编写两个单独的查询,但这也可以正常工作:

SELECT 
    *
FROM special_banner_tbl
WHERE SPLBANNER_pubsdate = CURRENT_DATE

UNION ALL 
SELECT 
    *
FROM special_banner_tbl
WHERE 
    (SELECT COUNT(*) 
    FROM special_banner_tbl 
    WHERE SPLBANNER_pubsdate=CURRENT_DATE) = 0 
    AND 
    SPLBANNER_pubsdate = (
        SELECT MIN(SPLBANNER_pubsdate) 
        FROM special_banner_tbl 
        WHERE SPLBANNER_pubsdate > CURRENT_DATE 
        ORDER BY SPLBANNER_pubsdate
        LIMIT 1
    )

关于php - 获取mysql中最近的下一个日期记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20209459/

相关文章:

php - 正则表达式可连续查找php中3个字母实例

javascript - 语义 ui 搜索不起作用

PHP 绑定(bind)通配符

php - Satis - 在本地存储 Packagist 存储库,并进行本地更改,但不供公众使用

mysql - 如何打印 Perl 的 DBI 填充占位符后执行的 SQL 查询?

mysql - 使用多个联接的未知列

php - 无法执行更新功能。我认为我的 $id 赋值有问题

mysql - 从数据库中清除垃圾邮件的正确方法

mysql - 如何根据价格确定哪个客户购买了商品

sql - 选择列时选择整个表 - 如何