sql - 统计堆栈交换数据库中具有相同 AnswerCount 值的单个匹配记录的数量
问题描述
我在https://data.stackexchange.com/stackoverflow/query/new查询 Stack Exchange 数据库
AnswerCount
计算与另一个帖子具有相同价值的帖子总数。
这是我的尝试导致错误Something unexpected went wrong while running your query. Don't worry, blame is already being assigned.
这个想法是在Posts
表中的一个帖子/记录与其值与另一个帖子/记录的单个匹配后增加计数器AnswerCount
,而不用它自己的AnswerCount
值计算匹配。
Select Count(*)
From Posts as p1
Join Posts as p2
On p2.Id = {
Select Top 1 Id
From p2
Where p1.AnswerCount = p2.AnswerCount
And p1.Id <> p2.Id
};
这是我用作参考的 Stack Exchange 帖子:如何加入第一行
解决方案
你的逻辑是正确的,但我会在这里使用存在:
SELECT COUNT(*)
FROM Posts p1
WHERE EXISTS (SELECT 1 FROM Posts p2
WHERE p2.Id <> p1.Id AND p2.AnswerCount = p1.AnswerCount);
用简单的英语阅读,上面的查询表示计算每个帖子记录,我们可以通过不同的值找到具有相同 AnswerCount
值的不同 Id
帖子记录(暗示它是不同的记录)。
推荐阅读
- python - ValueError:尝试使用 Cloud Functions 中的字典更新 Firestore 文档时,一个或多个组件不是字符串或为空
- datetime - 在 Kotlin 中将 ISO 8601 持续时间转换为人类可读的文本
- javascript - 我的重定向链接不起作用。(return redirect('/show');)
- php - 使用 wpmu_create_blog 创建站点时,如何在 $domain 中保留斜杠
- python - 多类文本分类中 Conv2d 的形状
- python-3.x - Django model.save() 不更新模型实例
- while-loop - vhdl 循环必须在 10,000 次迭代错误内终止,尽管计数为 1000
- rest - 具有 API 和仅外部提供商的网站的 OAuth 安全性
- spring-boot - 使用 Apache Camel 路由 gRPC 流量(每条路由使用相同的端口)
- vba - VBA 对象变量或未设置块变量 - RegEx 循环