我有一个sql语句:
select id from table1 t1, table t2
where.....
order by ( select count(owner_id) from t2) ASC;
我想在这里做的是选择所有者拥有最少项目数的项目的ID。
这可能吗?如果没有,我能做些什么才能达到目标?
提前致谢!
答案 0 :(得分:2)
你没有提到你正在使用的SQL,但是你可以在PL(以及我相信)中做到这一点,或类似的东西;我假设你在id
上链接表1和2;我没有单独按count(owner_id)命令,因为它总是相同的值。显然,按照你想要的任何方式进行分区,以获得正确的计数。
select id
from ( select t1.id, t2.ct
from table1 t1
, ( select id, count(owner_id) over ( partition by id ) as ct
from table2 ) t2
where t1.id = t2.id
order by t2.ct ASC )
;