avatar
xt
1
我现在有2个table:
A: id INTEGER PRIMARY KEY,
B:... Aid INTEGER,
假设B里面的Aid是个foreign key指向A.我现在想找出A里面的row
但按照row里面的id在B里面出现的次数多少排序.怎么做?
Thanks.
avatar
B*z
2
try try this,
select * from A where id in
(
select Aid from B group by Aid
)
order by
(select count(*) as ct from B where
B.Aid=A.id)
desc

【在 xt 的大作中提到】
: 我现在有2个table:
: A: id INTEGER PRIMARY KEY,
: B:... Aid INTEGER,
: 假设B里面的Aid是个foreign key指向A.我现在想找出A里面的row
: 但按照row里面的id在B里面出现的次数多少排序.怎么做?
: Thanks.

avatar
k*d
3
Select A.*, count(*) as ShowTimes
from A join B on A.id=B.Aid
group by A.*
order by ShowTimes desc

【在 B**z 的大作中提到】
: try try this,
: select * from A where id in
: (
: select Aid from B group by Aid
: )
: order by
: (select count(*) as ct from B where
: B.Aid=A.id)
: desc

avatar
B*z
4
your query returns one extra field in the resulset.

【在 k*******d 的大作中提到】
: Select A.*, count(*) as ShowTimes
: from A join B on A.id=B.Aid
: group by A.*
: order by ShowTimes desc

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。