计算百分比和计数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算百分比和计数相关的知识,希望对你有一定的参考价值。
我试图在表格中显示计数和百分比。
我使用的查询是这样的:
DECLARE @BeginDate AS DATETIME
SET @BeginDate = GETDATE();
SELECT TOP 10
s.Title AS Title, COUNT(*) AS TotalSessions
FROM
History s
WHERE
CONVERT(DATE, s.DateStamp) >= DATEADD(DAY, -7, @BeginDate)
AND CONVERT(DATE, s.DateStamp) <= DATEADD(DAY, -1, @BeginDate)
GROUP BY
Title
ORDER BY
TotalSessions DESC
这将返回前1o记录,现在
- 我想将总数百分比值显示为第三列。我可以在同一查询中执行此操作吗?
- 我想将剩余的计数显示为其他计数(如果有100条记录,前10行显示前10条记录,第11行显示剩余90条记录的总和,其他标题为“其他”)。我可以在同一个查询中执行此操作吗?
答案
您可以使用窗口功能。像这样的东西:
SELECT TOP 10 s.Title as Title, count(*) as TotalSessions,
COUNT(*) * 1.0 / SUM(COUNT(*)) OVER ()
FROM History s
WHERE convert(date,s.DateStamp) >= DATEADD(DAY, -7, @BeginDate)
AND convert(date,s.DateStamp) <= DATEADD(DAY, -1, @BeginDate)
GROUP BY Title
ORDER BY TotalSessions DESC
以上是关于计算百分比和计数的主要内容,如果未能解决你的问题,请参考以下文章