У меня есть таблица, Платежи , со следующими данными:
Схема (MySQL v5.7)
CREATE TABLE payments (
Transaction_ID INT NOT NULL,
Business_ID INT NOT NULL,
Payment_Amount DECIMAL(25,2),
Payment_Type VARCHAR(6),
PRIMARY KEY (Transaction_ID)
);
CREATE TABLE business_results (
Business_ID INT NOT NULL,
Top_Payment_Type_by_Dollar_Amount VARCHAR(6),
Top_Payment_Type_by_Transactions VARCHAR(6),
PRIMARY KEY (Business_ID)
);
INSERT INTO payments (Transaction_ID, Business_ID, Payment_Amount, Payment_Type)
VALUES (1,2, 3.00, 'CASH'),
(2,1,15.00,'CREDIT'),
(3,4,5.00,'CASH'),
(4,3,31.00,'CASH'),
(5,4,2.00,'CREDIT'),
(6,2,25.00,'CASH'),
(7,2,30.00,'CREDIT'),
(8,3,16.00,'CASH'),
(9,1,7.00,'CREDIT'),
(10,4,4.00,'CREDIT');
Запрос № 1
select * from payments;
| Transaction_ID | Business_ID | Payment_Amount | Payment_Type |
| -------------- | ----------- | -------------- | ------------ |
| 1 | 2 | 3 | CASH |
| 2 | 1 | 15 | CREDIT |
| 3 | 4 | 5 | CASH |
| 4 | 3 | 31 | CASH |
| 5 | 4 | 2 | CREDIT |
| 6 | 2 | 25 | CASH |
| 7 | 2 | 30 | CREDIT |
| 8 | 3 | 16 | CASH |
| 9 | 1 | 7 | CREDIT |
| 10 | 4 | 4 | CREDIT |
Просмотр на БД Fiddle
Тип транзакции состоит из «Кредит» или «Наличные»'
Я пытаюсь создать запрос со следующими результатами:
- Столбец 1: Business_ID
- Столбец 2: Укажите, какой тип платежа имел наибольшая общая сумма в долларах США по сумме типа платежа
- Столбец 3: Укажите, какой тип платежа совершил наибольшее количество транзакций
На основе данныхпри условии, что результаты должны быть следующими:
+-------------+-----------------------------------+----------------------------------+
| Business_ID | Top_Payment_Type_by_Dollar_Amount | Top_Payment_Type_by_Transactions |
+-------------+-----------------------------------+----------------------------------+
| 1 | CREDIT | CREDIT |
| 2 | CREDIT | CASH |
| 3 | CASH | CASH |
| 4 | CREDIT | CREDIT |
+-------------+-----------------------------------+----------------------------------+
Как бы я поступил так же в одном запросе MySQL?
-