sql - 具有连接和不同输出的 SQL 聚合函数
问题描述
列出所拥有公司的名称、授权股份数量、已发行股份总数和已发行股份占授权股份的百分比。按公司名称对输出进行排序。
SELECT c.name,
sa.authorized,
ROUND(css.total_outstanding/css.current_authorized * 100, 2) AS "Outstanding"
FROM company c JOIN
shares_authorized sa ON sa.stock_id = c.stock_id JOIN
current_stock_stats css ON css.stock_id = sa.stock_id
ORDER BY c.name;
附件是输出。我需要七行 7nrows 作为答案,而不是 8 行。纽约时间应该合并。使用 SUM 会返回 Group By 错误。我们还能在这里使用什么?
解决方案
SELECT name, authorized, ROUND(total_outstanding / current_authorized * 100, 2) AS "Outstanding"
FROM (
SELECT c.name
,sa.authorized
,SUM(css.total_outstanding) AS total_outstanding
,SUM(css.current_authorized) AS current_authorized
FROM company c
JOIN shares_authorized sa ON sa.stock_id = c.stock_id
JOIN current_stock_stats css ON css.stock_id = sa.stock_id
GROUP BY c.name, sa.authorized
) TMP
ORDER BY name, authorized
推荐阅读
- python - 如何在python中获取与同一项目相关但在不同日期的行并使用第一个和最后一个日期的值创建列?
- angular - 从服务中获取模拟值的问题,该服务返回组件中的可观察值
- python - 多数据的 MLP 训练
- sympy - 包含复指数的多项式的 factor_list 中的错误
- mysql - 如何从存储库中导出 Workbench 中的 mysql 数据库
- dictionary - 带有颜色/渐变叠加的谷歌地图
- regex - wget:正则表达式与 URL 中的与号 (&) 不匹配
- google-cloud-platform - 哪些用户可以访问受 Identity Aware Proxy 保护的内部 OAuth 应用程序的 AppEngine 应用程序?
- android - 如何使用终端(OSX)下载 /storage/emulated/0/android/data/ 的内容
- docker - 使用 docker-compose 运行分布式气流架构时如何将新用户添加到 docker 映像