首页 > 解决方案 > 从sql中的总值计算所选值的百分比

问题描述

我有两张桌子,一张类似于这个

表十:

A - 阿迪达斯

B-彪马

C - 美国之鹰

.

.

另一张桌子是

表 Y:

阿迪达斯

优时比

美国广播公司

美国之鹰

间谍卡

我想找到“X 中其品牌出现在 Y 中的行数”与 X 中总行数的比率

我可以在单个 sql 语句中执行此操作吗

从 X、Y 中选择 count(*) 其中 UPPER(X.brand) = UPPER(Y.brand)

/ 从 X 中选择 count(*)

标签: sql

解决方案


假设没有重复,您可以执行以下操作:

select count(y.brand) * 1.0 / count(*)
from X left join
     Y 
     on UPPER(X.brand) = UPPER(Y.brand);

推荐阅读