我正在使用SqlLite。我的表格由jobno
和创建它的时间(ondate
)组成。我想从每个组中选择最近的jobno 。
ondate
不在标准日期格式中。它包含这种格式的值09/08/2013 04:04:30
所以我对ondate
的排序略有不同。
select r1.jobno, r1.ondate
from reports r1
where(
select r2.jobno
from reports r2
where r1.jobno=r2.jobno
ORDER BY
substr(r2.ondate,7,4)||
substr(r2.ondate,1,2)||
substr(r2.ondate,4,2)||
substr(r2.ondate,11) desc
)
group by r1.jobno <=1
ondate
的排序是正确的。它被正确订购。
相关的查询错误,它没有给我正确的输出。任何人都可以帮我纠正这个问题。
答案 0 :(得分:0)
select r1.jobno, r1.ondate
from reports r1
where
r1.ondate = (
select ondate
from reports as r2 where r2.jobno = r1.jobno
order by
substr(r2.ondate,7,4)||
substr(r2.ondate,1,2)||
substr(r2.ondate,4,2)||
substr(r2.ondate,11) desc
limit 1
)