比如有一个表如下
时间 id 列3
r1 id1 XXX
R2 id2 XXX
R3 id1 XXX求一个查询语句:取出所有所有符合以下条件的行:
时间大于某个时间time,如果Id相同的话则只取时间比较大的那一条如上表,如果ri,R2,R3都大于Time的话,并且r1大于R3,则结果如下:
时间 id 列3
r1 id1 XXX
R2 id2 XXX最好是能用在sqlite上的sql 语句 先谢谢各位大侠了
时间 id 列3
r1 id1 XXX
R2 id2 XXX
R3 id1 XXX求一个查询语句:取出所有所有符合以下条件的行:
时间大于某个时间time,如果Id相同的话则只取时间比较大的那一条如上表,如果ri,R2,R3都大于Time的话,并且r1大于R3,则结果如下:
时间 id 列3
r1 id1 XXX
R2 id2 XXX最好是能用在sqlite上的sql 语句 先谢谢各位大侠了
from tb t
where not exists(select 1 from tb where id=t.id and 时间>t.时间)
FROM tb AS A
WHERE 时间>@time
AND NOT EXISTS(SELECT * FROM tb WHERE id=A.id AND 时间>A.时间 )
declare @1 table(time datetime,id int,city varchar(20))
insert into @1
select '2009-03-01',1,'a' union all
select '2009-03-10',1,'b' union all
select '2009-03-10',2,'c'select city=(select city from @1 where time=max(b.time) and id=b.id),b.id,[time]=max(b.time)
from @1 b where b.time>'2009-01-01' group by b.id/*(3 行受影响)
city id time
-------------------- ----------- -----------------------
b 1 2009-03-10 00:00:00.000
c 2 2009-03-10 00:00:00.000(2 行受影响)
*/