С учетом вкладов аккаунта: Как суммировать вклады на человека? По отношению к порогу? - PullRequest
0 голосов
/ 29 октября 2019

Учитывая суммы взносов для каждого аккаунта, как мне 1) СУММИТЬ вклады каждого человека, 2) Найти количество людей, которые внесли <, = или> 5000 долларов?

Сейчас у меня естьтаблица базы данных "[dbo]. [FakeRRSPs]", которая выглядит следующим образом:

Example Database

  • Account_ID
  • Personal_ID
  • Взносы

Мой текущий код успешно отображает количество уникальных лиц:

    select distinct(personal_id), sum(contributions), count(account_id),
      (select count(distinct(personal_id))
      from [dbo].[FakeRRSPs]
      )
    from [dbo].[FakeRRSPs]
    where personal_id is not null
    group by personal_id

Например, 2 млн. Человек имеют 2,5 млн учетных записей.

Проблемы, с которыми я сталкиваюсь:

  • Как подсчитать количество лиц, которые вносят взносы ниже, на уровне или выше порога в 5 тыс. Долл. (После SUM (взнос) на человека)

  • Есть люди, которые вносят 10 000 долларов США, например, 5 000 долларов США на 2 счета. Оба аккаунта подобраны, когда я надеюсь получить только СУММУ (вклад) для этого человека.

Надеюсь, это достаточно ясно - это, конечно, не для меня! Спасибо всем.

1 Ответ

0 голосов
/ 29 октября 2019

SQL Fiddle

Настройка схемы MS SQL Server 2017 :

create table Contribution (PID int,AID int,C int)
insert into Contribution(PID,AID,C)VALUES(235,1245,1200)
insert into Contribution(PID,AID,C)VALUES(256,1246,0)
insert into Contribution(PID,AID,C)VALUES(256,1247,3500)
insert into Contribution(PID,AID,C)VALUES(256,1248,10000)
insert into Contribution(PID,AID,C)VALUES(421,1249,0)

Запрос 1 :

select * from (select PID,sum(C) AS SC from Contribution
group by PID) as test
where test.SC<=5000

Результаты :

| PID |   SC |
|-----|------|
| 235 | 1200 |
| 421 |    0 |
...