我的表是这样的:
_id time name isNotFirstEntry 1 55555 aaa 0 2 66666 1 3 77777 1 4 88888 bbb 0 5 99998 4 6 99999 4
即。对于重复条目,name
为空,原始条目的_id
存储在isNotFirstEntry中。
我想要检索_id,时间,名字,不。重复条目为n,其中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。
答案 0 :(得分:1)
您需要加入。您可以将此作为相关子查询执行:
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
或者作为与group by的明确联接:
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