相关的Sql Query未提供所需的输出

时间:2013-09-08 08:21:18

标签: sql sqlite

我正在使用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的排序是正确的。它被正确订购。
相关的查询错误,它没有给我正确的输出。任何人都可以帮我纠正这个问题。

1 个答案:

答案 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 
    )