如何使用mysql显示下一个日期

时间:2015-08-28 08:15:27

标签: php mysql sql join left-join

我有一个例子

id  projectid     date
1       2     2015-04-19 
2       2     2015-04-19 
3       2     2015-04-19 
4       2     2015-04-19 
5       2     2015-04-21 
6       2     2015-04-21 
7       2     2015-04-21 
8       2     2015-04-22 
9       2     2015-04-22 
10      2     2015-04-22 

我想使用2015-04-19日期显示下一个即将存储的日期,即下一个日期是2015-04-21,使用mysql查询

id  projectid     date
5       2     2015-04-21 
6       2     2015-04-21 
7       2     2015-04-21

5 个答案:

答案 0 :(得分:0)

在Select Statement中使用DateAdd函数,如下所示

DATEADD(d,1,(CASE table.date as Date)) 

答案 1 :(得分:0)

基本上,要从数据库中显示2015-04-19之前的下一个日期,这应该足够了:

SELECT * FROM table WHERE date > '2015-04-19' ORDER BY date ASC LIMIT 1

答案 2 :(得分:0)

SELECT * FROM table WHERE date > '2015-04-19' ORDER BY date LIMIT 1

<强>更新

您写道,您希望显示下一个即将存储的日期,但查看您的示例输出和评论,您似乎希望获得下一个日期的所有记录。

SELECT * FROM table WHERE date=(
    SELECT date FROM table WHERE date > '2015-04-19' ORDER BY date LIMIT 1
)

SQL Fiffle example,将其用作复制粘贴解决方案。

答案 3 :(得分:0)

子查询将仅返回根据该日期结果的下一个日期。

SELECT * FROM tableName WHERE date=("SELECT date FROM table WHERE date > '2015-04-19' ORDER BY date LIMIT 1")

答案 4 :(得分:0)

我已经为您撰写了查询。我希望它能解决你的问题。

<强> QUERY

SELECT * FROM table 
WHERE `date` = (SELECT `date` FROM table 
                WHERE `date`>'2015-04-19' ORDER BY `date` ASC LIMIT 1);