作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 PostgreSQL,我有两个基本请求,它们获取品牌名称和我的 parc 中的汽车编号。
请求1:根据品牌名称获取品牌列表和数量
SELECT brand.name , COUNT(i) FROM brand GROUP BY brand.name
请求2:获取用户列表和用户国籍数量
我的第二个请求是按国籍获取用户数量
SELECT user.nationality , COUNT(i) FROM user GROUP BY user.nationality
关键是每个请求都与另一个请求分开,我想在同一个请求中显示它
------------------------------------------------
|brand | number | nationality | number |
------------------------------------------------
|Audi | 12 | Chine | 5 |
|RENAULT | 5 | Portu | 4 |
|HYUNDAI | 2 | | |
------------------------------------------------
这意味着如果 bran 比 nationalit 多,则显示一个空行。
最佳答案
听起来像是一个奇怪的要求,但这样的事情应该可行:
SELECT b.*, u.*
from (
select name,
COUNT(*) as brand_count,
row_number() over (order by count(*) desc) as rn
FROM brand
GROUP BY name
) b
full outer join (
SELECT nationality,
COUNT(*) as user_count,
row_number() over (order by count(*) desc) as rn
FROM "user"
GROUP BY nationality
) u on b.rn = u.rn
order by rn;
关于sql - 如何在同一个选项卡中显示两个请求结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44260788/
我是一名优秀的程序员,十分优秀!