sql - 比较另一个 id 下属于不同 ids 组的行并将结果打印在单独的列中
问题描述
我正在寻找一种 SQL 查询解决方案,它允许我比较不同的属性和它们的值,它们在行中,用于分组在父 ID 下的不同 ID。我想在单独的列中打印结果是否匹配。下面的屏幕截图包含数据和以红色标记的所需结果。
在此处添加从 GMB 运行查询时得到的结果。我还添加了一列 Excpected_Result 以便我们可以轻松查看差异: GMB 查询与预期结果
解决方案
您可以使用窗口函数和条件表达式:
select
t.*,
case when count(*) over(partition by attributeName, attributeValue) > 1
then 'True'
else 'False'
end has_match
from mytable t
推荐阅读
- configuration - 为什么 Serilog LoggerEnrichmentConfiguration 操作未实现
- php - 在对象数组 (JSON) 中编辑对象的特定键值
- sql - 新列取决于条件sql
- sql-server - 我可以从 MSSQL\Backup 文件夹中手动删除 .log 和 .bak 文件吗?
- angular - 从@angular/http 迁移到@angular/common/http 但无法弄清楚
- javascript - 我可以让我的机器人在离线时在特定的文本通道中发送消息吗?
- java - Do-While 循环打印文本以提示用户输入标记值,然后在接收输入之前重新启动
- php - 无法从 EC2 连接 AWS RDS (MYSQL)
- typescript - 如何在提交时更新或推送 Slack 模式视图?(带螺栓的松弛 API)
- python - Python 3.5 非阻塞函数