在select查询中添加计数

时间:2014-01-23 16:31:06

标签: sql count

我正在尝试查找一个查询,它会让我查询查询中的另一个表。问题是我不知道在count部分中设置的位置。就像现在一样,它只会返回该表中所有值的计数。

Select 
ID as Num, 
(select Count(*) from TASK where ID=ID(Also tried Num)) as Total 
from ORDER

目标是获得类似

的结果
Num   Total
_________________
1     13
2     5
3     22

2 个答案:

答案 0 :(得分:0)

您需要表别名。所以我想你想要:

Select ID as Num, 
       (select Count(*) from TASK t where t.ID = o.ID) as Total 
from ORDER o;

顺便说一下,ORDER对于表来说是一个可怕的名称,因为它是SQL中的保留工作。

答案 1 :(得分:0)

您可以将其作为子查询或连接(或OVER语句)。

我认为当您第一次学习SQL

时,连接是最清晰的
Select 
ID as Num, count(TASK.ID) AS Total
from ORDER
left join TASK ON ORDER.ID=TASK.ID  
GROUP BY ORDER.ID