0

我的桌子是这样的:

_id 时间名称 isNotFirstEntry
1 55555 aaa 0
2 66666 1
3 77777 1
4 88888 BB 0
5 99998 4
6 99999 4

即对于重复条目,name为空并且_id原始条目的存储在 isNotFirstEntry 中。

我想检索_id、时间、姓名、不。重复条目为 n where name!=null

我试过这样的事情: select _id, time, name, (select count(isNotFirstEntry) from mytable where isNotFirstEntry=_id) as n from mytable where name!=null

但这当然行不通。嵌套查询中的_id与外部查询的_id不一样。我需要从嵌套查询中访问外部部分的 _id。

我使用的是 android sdk,所以我只能使用 sqlite。

4

1 回答 1

2

你需要加入。您可以将其作为相关子查询来执行:

select mt._id, mt.time, mt.name,
       (select count(mt2.isNotFirstEntry)
        from mytable mt2
        where mt2.isNotFirstEntry=mt._id
       ) as n
from mytable mt
where mt.name!=null

或通过以下方式与组显式加入:

select mt._id, mt.time, mt.name, count(mt2._id) as n
from mytable mt left outer join
     mytable mt2
     on mt._id = mt2.isNotFirstEntry
where mt.name is not null
group by mt._id, mt.time, mt.name
于 2012-08-11T19:18:05.727 回答