Как выбрать уникальных клиентов, чья сумма оплаты - PullRequest
2 голосов
/ 16 мая 2019

Как выбрать уникальных клиентов, чья сумма оплаты (в гривнах) составляет от 150 до 400 грн?

У меня есть таблица:

• Trandate date - дата транзакции;

• Transum numeric (20,2) - сумма платежа;

• Курс валюты числовой (20,2) - курс обмена валют;

ID_Client Trandate  Transum CurrencyRate    Currency
1   2018.12.01  100 1   UAH
1   2018.12.02  150 2   USD
2   2018.12.01  200 1   UAH
3   2018.12.01  250 3   EUR
3   2018.12.02  300 1   UAH
3   2018.12.03  350 2   USD
7   2019.01.08  600 1   UAH

мой код такой плохой, я думаю

SELECT DISTINCT ID_Client
,      Transum 
FROM   `Payment.TotalPayments` 
WHERE  Currency = "UAH" 
       AND Transum >= "150" 
       AND Transum <= "400"

это должно быть что-то вроде этого:

SELECT ID_Client, COUNT(Transum)
FROM `Payment.TotalPayments`
HAVING COUNT(Transum) BETWEEN 150 AND 400

1 Ответ

0 голосов
/ 16 мая 2019

Вы можете попробовать ниже -

SELECT ID_Client
FROM   `Payment.TotalPayments` 
WHERE  Currency = 'UAH' 
group by id_client having sum(Transum) between 150 AND 400
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...