你可以计算每组,然后除以总数。。。。
create table payments (
payment_method varchar(10),
created_at date
);
insert into payments values
('card', '2023-01-01'),
('card', '2023-01-01'),
('card', '2023-01-01'),
('card', '2023-01-01'),
('card', '2023-01-01'),
('card', '2023-01-01'),
('card', '2023-01-01'),
('bank', '2023-01-01'),
('bank', '2023-01-01');
select payment_method,
round(count(*) / sum(count(*)) over () * 100 ,2) as pct_of_total
from payments
--where your criteria
group by payment_method;
|
付款方式
|
总百分比
|
|
卡片
|
77.78
|
|
银行
|
22.22
|
View on DB Fiddle