【发布时间】:2014-01-15 18:17:10
【问题描述】:
我正在创建一个报告,该报告将告诉最终用户在给定月份内完成了多少百分比的网格视图(记录的总数是有限的)。我有一个带有已导入记录的网格视图,用户必须进入每条记录并更新几个字段。我正在尝试创建一个报告,告诉我在给定月份内完成的记录总数的百分比。我需要的只是百分比。总计(对于此示例)为 2000。
我不确定此处是否需要实际的 gridview 信息/代码,但如果需要,请告诉我,我会添加它。
问题是我已经能够计算总百分比,但是当它显示时,表中的每一行都会重复百分比总和。我正在为如何让这个结果只出现一次而摸不着头脑。
现在这是我的 SQL 代码(我使用 nvarchar,因为我们从许多非 Windows 系统导入并获取各种额外字符并在我们的信息中添加空格):
Declare @DateCount nvarchar(max);
Declare @DivNumber decimal(5,1);
SET @DivNumber = (.01 * 2541);
SET @DateCount = (SELECT (Count(date_record_entered) FROM dbo.tablename WHERE date_record_entered IS NOT NULL and date_record_entered >= 20131201 AND date_record_entered <= 20131231);
SELECT CAST(ROUND(@DivNumber / @DateCount, 1) AS decimal(5,1) FROM dbo.tablename
假设在这个例子中,date_record_entered 中 12 月份的记录总数为 500。
我已经分别尝试了较小的代码段,但没有成功。这是我最近尝试过的。
我知道我在这里遗漏了一些简单的东西,但我不确定是什么。
::edit::
作为查询的预期结果,我正在寻找的是在给定月份中修改记录的百分比。如果完成 500 条记录,那将是 25%。我只想让 25(以及适用时的训练小数)显示一次,而不是在此表中的每一行显示 25。
【问题讨论】:
-
您能否提供您的数据样本和查询的预期结果?
-
你具体在寻找什么@wdosanjos?
-
dbo.tablename表中的一些示例行和SELECT语句的预期结果。获得这些信息后,我可以尝试提供解决方案。 -
更新了本帖的第一篇文章。
标签: sql sql-server gridview sql-server-2012