sql - 如何在包含文本的列上连接表格
问题描述
我有 2 个表要合并:
t1
Continent Country City
-----------------------
Europe Germany Munich
NA Canada Ontario
Asia Singapore (blank)
Asia Japan Tokyo
和
t2
Country Status
-----------------
Germany Complete
Canada Incomplete
Singapore Complete
Japan Complete
我想获得第二高“完成”状态的大陆。我是 SQL 新手,我正在努力学习基础知识,但我无法完成这项工作。
解决方案
我理解你的意思是拥有更多城市状态完整的国家。您可以使用子查询:
with a as
(
select a.country,
sum(case when status = 'Complete' then 1 else 0 end) as CompleteCount
from t1 a inner join t2 b on a.country = b.country
group by a.country
)
select country from
(
select country,
ROW_NUMBER() OVER( ORDER BY CompleteCount desc) as OrderComplete
from a
)a where OrderComplete = 2
推荐阅读
- php - 如何在 PHP-FFMpeg 上实现 filter_complex
- r - 查找异常值并计算发生次数
- javascript - 拖放 - 无法将拖放拖放到原始位置
- angular8 - 使用我的页面 gestion-projet 删除页眉和页脚
- powerbi - Power BI 计算问题。从今天的值中减去昨天的值,整个表格的结果为 17908
- scala - 只运行一个包测试用例 scala
- ngrx - 当我禁用 redux-devtools 时,路由器导航需要很长时间
- json - CSV 数据到 GraphQL 架构
- c - 哈希的 printf
- javascript - 确保正则表达式高效且安全