SQL:如何使用Stack Exchange Data Explorer检索用户发布了多少有用的答案?

时间:2015-08-05 19:04:26

标签: sql tsql dataexplorer

我正在尝试为给定特定Stack Overflow用户的data.stackexchange.com构建一个SQL查询,将列出他们接受的答案数,答案数和分数> 0,并且已经接受的答案数和/或得分> 0

这是我到目前为止的查询,它只计算接受的答案:

DECLARE @UserId int = ##UserId##

SELECT 
    Count(a.Id) AS Accepted
FROM
    Posts q
  INNER JOIN
    Posts a ON q.AcceptedAnswerId = a.Id
WHERE
    a.OwnerUserId = @UserId
  AND
    a.PostTypeId = 2

当您在我的用户ID(2234742)上运行它时,它会显示以下输出:

Accepted
70

我正在寻找以下输出:

Accepted     Score > 0    Accepted or Score > 0
X            X            X

要修改现有查询,您可以转到my existing data.stackexchange.com query page并点击" fork query"在查询正文下面。架构将显示在右侧。我是SQL的新手,所以谢谢你的帮助!

N.B。请记住,Accepted or Score > 0不仅仅是其他两列的总和,因为存在重叠!

1 个答案:

答案 0 :(得分:1)

resolvers += Resolver.jcenterRepo,
resolvers += "scalaz-bintray" at "https://dl.bintray.com/scalaz/releases",
libraryDependencies ++= Seq(
    "com.kyleu" %% "jdub-async" % "1.0",
    "com.vmunier" %% "play-scalajs-scripts" % "0.3.0",
    "org.webjars" % "jquery" % "1.11.1",
    "org.json4s" %% "json4s-jackson" % "3.2.11",
    evolutions,
    "com.github.benhutchison" %% "prickle" % "1.1.7",
    specs2 % Test
  )

将'someval'替换为posttype以获得所需内容。您需要按帖子类型分组