sql - 从sql中的总值计算所选值的百分比
问题描述
我有两张桌子,一张类似于这个
表十:
A - 阿迪达斯
B-彪马
C - 美国之鹰
.
.
另一张桌子是
表 Y:
阿迪达斯
优时比
美国广播公司
美国之鹰
间谍卡
我想找到“X 中其品牌出现在 Y 中的行数”与 X 中总行数的比率
我可以在单个 sql 语句中执行此操作吗
从 X、Y 中选择 count(*) 其中 UPPER(X.brand) = UPPER(Y.brand)
/ 从 X 中选择 count(*)
解决方案
假设没有重复,您可以执行以下操作:
select count(y.brand) * 1.0 / count(*)
from X left join
Y
on UPPER(X.brand) = UPPER(Y.brand);
推荐阅读
- material-ui - 更新到 v4 后自定义样式中断
- javascript - 仅当在 chrome 中打开开发工具时,catch 块内的 Javascript 'alert' 功能才有效
- stripe-payments - 无法解析来自 stripe cli 的 webhook 签名秘密
- css - 在 vue 中对抗单页应用程序中无样式文本的闪烁
- java - 任何人都可以确认 ExpressJS 比 Spring Boot 慢吗?
- asp.net-web-api - HTTP 端点/URI 如何与它调用的 WebAPI 相关
- c - 从文件读取不会返回任何内容,但会被访问
- javafx - Javafx TilePane PrefColumns
- ruby-on-rails - 会话控制器的 Rspec
- go - 如何在错误前添加字符串?