Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL计数(max())_Sql_Sql Server - Fatal编程技术网

SQL计数(max())

SQL计数(max()),sql,sql-server,Sql,Sql Server,我正在尝试使用Microsoft SQl Server Management Studio获取查询中最大发行人的计数。在本例中,我希望它计算出最大的发行人所在国家/地区出现的实例数,在本例中为6,最大的发行人为US 声明@T为varchar(10)='2019-08-01',@PortfolioID为varchar(10)='B4' ; 选择[value\u date]、[SHORT\u DESCRIPTON]、[SM\u SEC\u GROUP]、[ULT\u ISSUER\u NAME]、[

我正在尝试使用Microsoft SQl Server Management Studio获取查询中最大发行人的计数。在本例中,我希望它计算出最大的
发行人所在国家/地区出现的实例数,在本例中为
6
,最大的发行人为
US

声明@T为varchar(10)='2019-08-01',@PortfolioID为varchar(10)='B4'
;
选择[value\u date]、[SHORT\u DESCRIPTON]、[SM\u SEC\u GROUP]、[ULT\u ISSUER\u NAME]、[ISSUER\u COUNTRY]
从[数据库]
其中[value_date]在(@T)
和PORTF_LIST=@portfolioID
和[SM_SEC_GROUP]('IBND','BND')中的[SM_SEC_GROUP]


我想你只需要
top(1)
group by

select top (1) [ISSUER_COUNTRY], count(*)
from [DATABASE]
where [value_date] in (@T) and
      PORTF_LIST = @portfolioID  and
      [SM_SEC_GROUP] in ('IBND', 'BND')
group by ISSUER_COUNTRY
order by count(*) desc;

如果您希望在出现ties时有多行,请使用带有ties的
top(1)

这里的大多数人希望样本数据和预期结果是格式化文本,而不是图像。您描述查询的方式可能是指最大计数,不算MAXimums@jarlh如何轻松地将其格式化为表格?请在适当的列中写入数据。在前面放一个空行,每行前放4个。(或标记数据并单击
{}
)我无法编辑,因为它少于6个字符,但后面缺少一个“and”@portfolioID@GordonLinoff如何将代码更改为对多个日期的每个日期计数?也就是说,在给定的时间跨度内,每天都能获得前1名。我将使用
声明@T_1为varchar(10)='2019-07-01'
作为我的第二个日期example@BlackBear . . . 这将是一个不同的问题。如果仅仅通过将日期添加到组中并不能满足您的要求,那么您应该将其作为一个新问题提出,并提供适当的样本数据和期望的结果。
select top (1) [ISSUER_COUNTRY], count(*)
from [DATABASE]
where [value_date] in (@T) and
      PORTF_LIST = @portfolioID  and
      [SM_SEC_GROUP] in ('IBND', 'BND')
group by ISSUER_COUNTRY
order by count(*) desc;