计数子查询

时间:2010-09-09 02:42:53

标签: sql

我的上一次任务太模糊了,所以我会修改它。我知道以下是不正确的SQL语法,但是你应该能够得到我正在尝试执行的查询的要点。

select id, 
       title, 
       count(select x 
              from otherTable 
             where otherTable.id = thisTable.id) as new_row 
 from thisTable

我希望对此有更好的解释。

2 个答案:

答案 0 :(得分:3)

select tt.id, tt.title, count(ot.id) as count
from thisTable tt
inner join otherTable ot on ot.id = tt.id
group by tt.id, tt.title

答案 1 :(得分:1)

另一种解决方案。如果你想知道行数,而不是不同x值的数量,那么使用count(*)代替count(distinct x)。

select id, title,
    (select count(distinct x) from otherTable
    where otherTable.id = thisTable.id) as new_row 
from thisTable