消息传递现有的sql查询以包含计数列

时间:2011-01-11 23:58:22

标签: sql-server

我有一个大的SQL查询,它返回一个经典的asp ADO.Recordset。我想在查询中添加一个列,其中只包含所有不同的PublicationID以及所有其他数据的计数,如何?下面只是一个示例,因为我不想粘贴查询,因为它的大小等。我知道我想使用COUNT(DISTINCT na.publicationid),但我不知道如何将它变成现有的查询,返回现有数据,但附加一栏。

SELECT na.publicationid, na.nameabbrev
FROM NewspaperAd as na
WHERE na.publicationid = '12345'

我想添加类似的内容:

SELECT na.publicationid, na.nameabbrev, COUNT(DISTINCT na.publicationid) as distnct_p_id
FROM NewspaperAd as na
WHERE na.publicationid = '12345'

2 个答案:

答案 0 :(得分:1)

目前,你的"计数"查询毫无意义。你想看到" 12345",加上" nameabbrev" NewspaperAd 12345的列,您想查看出版物的数量吗?在所有行?这是两个不同的查询。

答案 1 :(得分:0)

您需要单独查询:

SELECT na.publicationid, na.nameabbrev
,(Select COUNT(publicationid) 
FROM NewspaperAd 
WHERE publicationid = na.publicationid) as distnct_p_id
FROM NewspaperAd as na
WHERE na.publicationid = '12345'
group by na.publicationid, na.nameabbrev