【发布时间】:2020-08-19 12:13:15
【问题描述】:
我有一个查询的简化版,如下所示:
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 表中还有 2 列 - f_player1 和 f_player2,我想按 DISTINCT 玩家对查询进行分组
所以玩家名单是:
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...
【问题讨论】:
-
样本数据和期望的结果会很有帮助。
-
好的,我已经添加了。谢谢
-
提供初始样本数据,即您想要最终结果的数据。
-
请同时提供表格说明。
标签: mysql sql postgresql subquery distinct