2015-07-13 78 views
-5

我有如下表在我的数据库如何为这种情况编写SQL查询?

--------------------- 
|ID |Date  
--------------------- 
|15 |2015-07-01 
|15 |2015-07-02 
|15 |2015-07-03 
|18 |2015-07-04 
|18 |2015-07-05 
|22 |2015-07-06 
|22 |2015-07-07 
|22 |2015-07-08 

我这个代码写这个查询

select * from table where date = "2015-07-04"; 

我可以得到当前的ID,但如何选择一张ID到我的电流id。

我只知道日期并想要检索数据。 像我有日期= 2015-07-03和那个日期编号= 15 所以我想包含所有行相关的id = 15和id旁边的id = 15即id = 18;

+0

有了这段代码,你不会得到当前的id,你会得到提供日期的所有行。 –

+0

你是什么意思“*通过此代码我可以得到当前ID *”?根据你的输入数据,这个查询应该返回第4行的数据。这种情况下* current * id是什么,curernt *旁边有*是什么? –

+0

'next id'是什么意思?下一个同一日期?下一个ID是在第二天的ID中随机选择的?如果第二天没有进入呢? – Paolo

回答

1

不确定。但是,好像你正在寻找这个

select max(id)+1 from yourTable; 

如果使用Oracle,然后创建SEQUENCE并使用NEXTVAL获得一个序列值。如果您使用的是SQL Server,则可以选择AUTO INCREMENT选项。

相关问题