Sql server SQL Server:如何获取正确的百分比
我有一个简单的SQL Server用户贷款申请表Sql server SQL Server:如何获取正确的百分比,sql-server,Sql Server,我有一个简单的SQL Server用户贷款申请表 CREATE TABLE [dbo].[Application] ( [Id] INT NOT NULL, [ApplicantId] INT NOT NULL, [LoanAmount] INT NOT NULL, [LoanTerm] SMALLINT NOT NULL, [Accepted]
CREATE TABLE [dbo].[Application]
(
[Id] INT NOT NULL,
[ApplicantId] INT NOT NULL,
[LoanAmount] INT NOT NULL,
[LoanTerm] SMALLINT NOT NULL,
[Accepted] BIT NOT NULL,
[BuyerId] SMALLINT NOT NULL,
[Commission] DECIMAL (9, 2) NOT NULL,
[PostTime] SMALLINT NOT NULL,
[CreatedOn] DATETIME NOT NULL,
PRIMARY KEY CLUSTERED ([Id] ASC),
CONSTRAINT [FK_Application_ToTable] FOREIGN KEY ([ApplicantId]) REFERENCES [dbo].[Applicant] ([Id])
);
我想在表上创建一个视图,提供两条信息。首先是处理申请的平均时间,其次是接受申请的百分比
这是我不确定的第二个因素——我完全是SQL新手
以下是我目前掌握的情况:
CREATE VIEW [dbo].[PostPerformance]
AS
SELECT AVG(PostTime) AS 'AvgPostTime'
FROM [Application]
正如您所看到的那样,AvgPostTime
已经足够简单,但我不确定如何计算在特定时期内接受的贷款的百分比
每行将有一个“true”或“false”接受字段-我需要计算为true的条目数,并计算选择中的总行数,然后计算百分比
如有任何建议,将不胜感激。您尚未提供样本数据。我猜你在找这个:
SELECT
AVG(PostTime) AS 'AvgPostTime'
, 100.0 * count(case when [Accepted] = 1 then 1 end) / count(*) AS [Percentage]
FROM [Application]
你能给我们提供一些数据到表中,以及期望的结果吗?