AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-148687

Bill Hughes's questions

Martin Hope
Bill Hughes
Asked: 2018-09-21 05:50:40 +0800 CST

案例未按预期工作的百分比计算

  • 0

从昨天下午开始就一直在绞尽脑汁,我想是时候召唤那些比我聪明的人了。我有一些数据代表如下。抱歉,我必须使用图像,我无法弄清楚如何设置格式以使其看起来像表格。

create table fico_scores
(
    fundingyear int,
    fico int,
    Correspondent varchar(50)
)

insert into fico_scores (fundingyear,fico,Correspondent)
        values (2017,593,'Amer Equit Mtg'),(2017,703,'Amer Equit Mtg'), 
(2018,684,'Amer Equit Mtg'),
               (2017,691,'Amer Equit Mtg'),(2017,650,'Amer Equit Mtg'),(2017,697,'Am Corp'),
               (2017,652,'Am Corp'),(2017,792,'Am Corp'),(2018,0,'Am Corp'),
               (2018,796,'Am Corp'),(2017,729,'Appr Fun Corp'),(2017,748,'Appr Fun Corp'),
               (2017,780,'Appr Fun Corp'),(2018,770,'Appr Fun Corp'),(2017,663,'Appr Fun Corp'),
               (2018,752,'Appr Fun Corp'),(2018,715,'Cacl Risk Analytics'),(2018,683,'Cacl Risk Analytics'),
               (2018,735,'Cacl Risk Analytics'),(2017,693,'Cap Mtg LLC'),(2017,624,'Cap Mtg LLC'),(2018,746,'Cap Mtg LLC'),
               (2018,666,'Cap Mtg LLC'),(2018,669,'Cap Mtg LLC')

我有以下代码,当运行它时只看一个通讯员,一切看起来都很好,正如您在代码下方看到的那样。

select fundingyear,case
                when fico = 1 then 'Less than 620'
                when fico = 2 then '620-679'
                when fico = 3 then '680-719'
                when fico = 4 then '720+' end as fico,
                sum(countfico) as count_Fico, count(countfico) * 1.0 / 
           SUM(count(countfico)) OVER (PARTITION BY fundingyear) as fico_perc
FROM
(
    select fundingyear, case 
                    when fico < 620 then 1
                    when fico >= 620 and fico <= 679 then 2
                    when fico >= 680 and fico <= 719 then 3
                    when fico >= 720 then 4
                    end as fico, count(fico) as countfico
    from vw_LoanRpt
    where Correspondent = 'Am Corp'
    group by fico,FundingYear
) t
group by FundingYear,fico

相应的百分比阵容

如您所见,百分比与计数正确对齐。但是当我运行代码来查看所有通讯员时,它看起来真的很不一样。

百分比不一致

我的问题是,我做错了什么导致计算出现这种偏差?

再次抱歉使用了这么多图片。我最终会学习这种格式化的东西。

蒂亚!

                    2017          2018
Less Than 620      521 | 14%    499 | 13%
620 - 679         2027 | 28%   2619 | 31%
680 - 719         1260 | 21%   1661 | 20%
720+              2137 | 37%   3320 | 35%
sql-server t-sql
  • 1 个回答
  • 53 Views
Martin Hope
Bill Hughes
Asked: 2018-08-02 06:49:47 +0800 CST

只获取必要的行

  • 0

我正在为一个项目查询,有时同一实体的结果有多行。我需要做的是:

如果结果如下所示:

   Type        |   Entity
-----------------------------
   TypeA       |      B. Didly

   TypeA       |      J. Hendrix

   TypeC       |      G. VanFleet

   TypeA       |      M. Manson

   TypeB       |      M. Manson

   TypeC       |      M. Manson

然后我需要为 M. Manson 选择 TypeB 而不是 TypeA 或 TypeC

我的结果需要如下所示:

   Type        |   Entity
-----------------------------
   TypeA       |      B. Didly

   TypeA       |      J. Hendrix

   TypeC       |      G. VanFleet

   TypeB       |      M. Manson

我正在努力使用光标或寻找其他选项。

基本上,如果一个实体具有所有三种类型,我只需要为该实体获取 TypeB。

据我所知,有 10 种可能的“类型”。客户给了我他们对这些类型的排名。我正在考虑一个案例陈述来设置排名。

sql-server t-sql
  • 2 个回答
  • 62 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve