sql - 按贷款数量分组(50)

标签 sql sql-server

我正在尝试编写一个查询,该查询将捕获 0 和 50 的计数以形成第 1 组贷款,捕获 51 和 100 的计数以计算第 2 组贷款等。我正在尝试以 50 笔增量贷款进行计数每个银行并以 50 为一组进行分组。我需要列出所有贷款号码。

SELECT DISTINCT 
    DLR_NAME, 
    ACCOUNT, 
    COUNT(*) AS GROUPCOUNT, 
    CASE WHEN COUNT BETWEEN 1 AND 50 Then 'Group 1'
         WHEN COUNT BETWEEN 51 AND 100 THEN 'Group 2'

类似这样的事情。我目前在这方面还是个新手。

最佳答案

我不确定我是否正确理解了您的意思,但请尝试以下操作:

declare @GroupSize decimal = 50.0
select BankID,
    LoanID,
    floor((_row - 1) / @GroupSize) as [GroupNum]
from (
    select BankID, 
        LoanID,
        row_number() over (partition by BankID order by BankID, LoanID) as _row
    from Loan
) a

SQL Fiddle

关于sql - 按贷款数量分组(50),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31213259/

相关文章:

mysql - DATE_ADD 在生产服务器上返回 NULL,在开发中工作

sql - SQL 字符串是否以空字符结尾?

mysql - SQL LEFT JOIN分配?

php - Mysql多表链接连接

sql-server - Python - pyodbc 使用参数名称调用存储过程

sql-server - 插入存储过程

sql - SELECT 是 x 的倍数的行

mysql - 使用 JOINED 多个表和子查询从 MySql 获取统计信息

sql - 简单的 psql 计数查询

sql-server - 使用 Toad for SQL Server 进行 Active Directory 密码身份验证