2017-02-10 18 views
1

我有兩個表,「主題」(表A)和「主題投票」(表B)。每個「主題」都有多個「主題投票」。我需要從「主題」中選擇行,並按相關「主題投票」的總數排序。訂單結果從表A的相關行的總數形式表B

怎麼可能在sqlite中?我是否需要爲此創建視圖,還是可以使用JOIN解決?

回答

1

如果您不需要票,你可以只是把相關的查詢在order by

select t.* 
from topics t 
order by (select count(*) from topic_votes tv where t.topic = v.topic) desc; 

通常情況下,你想投票的結果集,以及數量。一個簡單的方法是將子查詢移到select條款:

select t.*, 
     (select count(*) from topic_votes tv where t.topic = v.topic 
     ) as votes 
from topics t 
order by votes desc; 
0

假設你有topics表和FK topic_id一個PK ID在topic votes表:

select 
    t.* 
from topics t 
left join topic_votes v on t.id = v.topic_id 
group by t.id 
order by count(v.topic_id) desc; 
相關問題