我有一个查询的简化版本,如下所示:
SELECT count_last_8, goals_8, count_last_16, goals_16 FROM (
(SELECT COUNT(*) AS count_last_8, f_total_ftg AS goals_8
FROM (SELECT * FROM results ORDER BY f_datetime LIMIT 8 ) AS X ) last_8g,
(SELECT COUNT(*) AS count_last_16, f_total_ftg AS goals_16
FROM (SELECT * FROM results ORDER BY f_datetime LIMIT 16 ) AS X ) last_16g
)
在Results
表中还有两列-F_Player1
和F_Player2
,我希望按Distincent
播放器对查询进行分组
所以玩家的名单是:
SELECT DISTINCT f_player1 AS player FROM results UNION SELECT DISTINCT f_player2 AS player FROM results
如何添加此条件以使每个表别名(last8g
,last16g
)适用于这些不同的播放器?
具有当前查询的示例数据:
count_last_8 | goals_8 | count_last_16 | goals_16
8 4 16 4
我想要的是这样的:
player | count_last_8 | goals_8 | count_last_16 | goals_16
kray 2 2 4 9
peli 1 3 3 7
etc...
这是相当难理解你的问题,如果有一个真实的数据样本,也有一个真实的基于提供的样本的预期结果,这会容易得多。
但是,我尝试了一些东西,它可能是解决办法,也可能会帮助你:
SELECT
T1.player,
T1.count_last_8,
T1.goals_8,
T2.count_last_16,
T2.goals_16
FROM(
SELECT
f_player1 AS player,
SUM(c1) AS count_last_8,
SUM(c2) AS goals_8
FROM(
SELECT
f_player1,
COUNT(f_player1) AS c1,
SUM(f_total_ftg) AS c2
FROM(
SELECT *
FROM
results
ORDER BY f_datetime
LIMIT 8
) ST1
GROUP BY f_player1
UNION ALL
SELECT
f_player2,
COUNT(f_player2) AS c1,
SUM(f_total_ftg) AS c2
FROM(
SELECT *
FROM
results
ORDER BY f_datetime
LIMIT 8
) ST2
GROUP BY f_player2
) ST3
GROUP BY f_player1
) T1
JOIN
(
SELECT
f_player1 AS player,
SUM(c1) AS count_last_16,
SUM(c2) AS goals_16
FROM(
SELECT f_player1,
COUNT(f_player1) AS c1,
SUM(f_total_ftg) AS c2
FROM(
SELECT *
FROM
results
ORDER BY f_datetime
LIMIT 16
) ST4
GROUP BY f_player1
UNION ALL
SELECT
f_player2,
COUNT(f_player2) AS c1,
SUM(f_total_ftg) AS c2
FROM(
SELECT *
FROM
results
ORDER BY f_datetime
LIMIT 16
) ST5
GROUP BY f_player2
) ST6
GROUP BY f_player1
) T2
ON T1.player = T2.player
请参阅此处的演示
问题内容: 我正在尝试在postgres中的查询中使用group by。我无法按照我想要的方式对其进行工作,以便根据需要对结果进行分组。 这是对我刚刚回答的递归查询的另一个堆栈问题的扩展。但是现在我需要能够将结果分组到最终查询的root_id列上。这是之前的查询: 这是我想做的,以便将具有相同parent_comment_id的所有记录保存在一起。 可能有许多记录返回了相同的parent_comm
问题内容: 这是我正在尝试做的事情和获得的最简单的工作示例: 我有一个查询,如下所示: 注意: tran_party.team_id_redirect 是引用 team.team_id 的外键。 电流输出: 预期产量: 我希望列中的重复项仅被选择一次,如下所示: 我试过的 我写了一个内联视图,而不是直接从中选择,而是从tran_party中选择不同的值,如下所示: 尽管这确实给了我预期的输出,但是
问题内容: 如何在按部分分组的查询中使用子查询? 我使用SQL Server 2008 R2和Delphi 2010 我收到此错误: 像这个查询: 按t1.sen分组 问题答案: 这是真实的方式
我是sql的新手,我需要帮助这个例子使用子查询。 我需要在Amanda和Uamanda下获取所有customerId,但现在我只有这个CustomerID100456。 我如何使用这个customerid100456 combain子查询来获取Amanda和uamanda下的所有数据。 这是我想要的预期结果
我有一个疑问。我有一个表,其中有些记录重复日期时间。我必须把最后一个从日期时间重复的地方拿来。示例: 它应该返回ID3、4和7 你能帮我吗?谢谢!
问题内容: 经过一些帮助MSChart-强制从Origin绘制折线图]后,我设法将以下MSSQL查询放在一起,以用于折线图。 但是,我有一个问题。该查询返回类似以下内容的内容: 这意味着我每天都在阅读,而实际上每个不同的值仅需要一行。在每种情况下,我都希望它第一次出现,因此对于上面的示例,我希望查询返回: 我看了看似是基于类似前提的几个问题,但是所有答复都是针对特定情况而量身定制的(有些甚至使用L
对于每个成员(作者),我有一个字段来存储成员性别。(Homme/Somme)。 数据存储在我的数据库中,wp_usermeta。 元键是“性别”,元值是“男人”或“女人”。 我试图写一个wp查询来显示所有作者的所有帖子,但只有“Homme”作者,另一个只有“女性”。 以下是我的wp查询,用于显示所有帖子,无需按性别筛选: 工作正常。 这是我到目前为止试图只从“男人”性别获得的帖子,但它不起作用。。
我有一张这样的桌子: MySQL>按id限制11从MyTable顺序中选择id、书籍、章节、段落、RevisionNum; 要找到没有未修改段落的书籍或章节,我希望查询该章节或书籍的所有不同id的最大值的最小值,或者以某种方式确定没有id保持未编辑(MAX(RevisionNum)为零)。 我的大多数约会尝试都以这样的错误告终: ...而我根本就没有使用“group by”函数! 下面的查询生成结