【发布时间】:2021-01-25 17:33:41
【问题描述】:
我们如何将两个查询组合成一个嵌套查询。假设我们有一个名为 history 的游戏关系,其中 history: playerid (string), roldid (string), Directions(string), year (integer), dice (integer)。
添加了更多约束,但最初的问题是用一种工作方法回答的,但如果你知道如何在没有 rank() 的情况下做到这一点。请分享。试图从根本上
playerid roldid direct year dice
p01 panda W 2013 6
p02 bird N 2014 6
p03 monkey S 2013 1
p01 dog E 2015 6
p03 monkey S 2015 4
p02 cat S 2015 6
p04 cat S 2015 2
p05 fish W 2015 4
假设我们想要一个返回的嵌套查询:
p01 6
p02 6
由于在整个游戏过程中,p01 和 p02 掷骰子时总是得到 6。
我知道如何在两个查询中执行此操作,但需要创建一个嵌套查询。 两个查询:
select playerid, sum(dice)/count(*) from history group by playerid;
返回:
playerid sum(dice)/count(*)
p01 6
p02 6
p03 2.5
p04 2
p05 4
然后我们可以让另一个查询返回所有 Max s,在这种情况下恰好是 6,但它可能是 p01,p03 都是 4.6 是 Max
我尝试过的 max(sum(dice)/count(*)) 不起作用。任何建议。
【问题讨论】:
-
只标记您使用的数据库
标签: sql database sqlite nested