选择具有相同值的行,每个行都有限制

用户2741313

嗨,我在尝试根据最近 4 场比赛的结果生成足球桌时遇到问题,这是我用来根据所有结果生成表格的代码,它工作正常:

选择
    球队,
    计数(*)比赛,
    计数(当进球数 > 进球数为 1 场)获胜,
    数数(进球数> 进球数为1 场数)输,
    数(当进球数= 进球数为 1 场)平局,
    总和(目标为)目标,
    总和(目标反)目标反,
    总和(目标)-总和(目标)目标_差异,
    总和(
          如果目标为>目标反则为3,否则为0结束
        +如果目标为=目标反则为1,否则为0结束
    )得分
    选择主队)球队,进球数,进球数
  联盟都
    选择客队,进球数,进球数
)
小组
按分数 desc、goal_diff desc 排序;

这是表

身份证 | 主队| 离开 | 目标| 进球| 时间 | 数据
 1 | 团队| 团队b | 3 | 2 | 13:00| 2016-04-21 
 2 | 团队c | 团队b | 4 | 1 | 13:00| 2016-04-19

我不知道如何只为所有球队选择最后 4 场比赛,我尝试过的最近一场比赛:


    从比分
  联盟中
    选择主队、进球、进球全部选择客队、进球、进球,其中数据>2016-03-21 

但有些球队在那段时间只打了一场比赛,其他球队 4

Juan Carlos Oropeza 占位符图像

您的FROM子查询几乎就在那里,但您需要包含日期。

from (
    select hometeam team, goalsfor, goalsagainst, date from scores 
     union all
    select awayteam team, goalsagainst, goalsfor, date from scores
) a 

现在您需要选择每支球队的最后 4 场比赛,为此您需要使用变量。

SELECT *
FROM (
    SELECT A.*, 
           @rn := IF( @team = team,
                      @rn + 1, 
                      IF( @team := team, 1, 1)
                    ) as rn
    FROM (
        select hometeam team, goalsfor, goalsagainst, date from scores 
         union all
        select awayteam team, goalsagainst, goalsfor, date from scores
    ) a
    CROSS JOIN ( SELECT @rn := 0, @team := '' ) as var
    ORDER BY team, date DESC 
   ) T
WHERE T.rn <= 4   
ORDER BY team, rn  

现在您可以对该结果进行聚合:

SELECT team, count(*), .....
FROM ( /* previous query */ )  as F
GROUP BY team 

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQL在具有限制的选择查询后删除行

来自分类Dev

SQL 选择多条记录,每次迭代都有限制

来自分类Dev

选择两列中所有行都具有相同值的记录

来自分类Dev

MySQL选择具有相同值的行

来自分类Dev

从列表中查找具有值的所有行,并且所有行都具有相同的ID MYSQL

来自分类Dev

如何根据当前枚举值选择具有限制的随机枚举值?

来自分类Dev

MySQL查询仅在所有行都等于差异值时返回具有相同值的所有行

来自分类Dev

聚合每个标签,当每一行都有一个标签数组时

来自分类Dev

MySQL-按类别随机获取记录,并且每个类别都有限制

来自分类Dev

MySQL从ID选择具有相同值的所有行

来自分类Dev

如何选择具有相同值的所有行

来自分类Dev

选择两列具有相同值的所有行?

来自分类Dev

PHP Yii条件选择具有限制的随机记录

来自分类Dev

PHP Yii条件选择具有限制的随机记录

来自分类Dev

选择不同列中具有相同值的行或 null 。有多行具有相同的 id

来自分类Dev

具有限制和默认值的XSD语法

来自分类Dev

如何选择具有所有“列”值且具有相同值的行?

来自分类Dev

MySQL选择具有相同列值的行

来自分类Dev

从不同的列中选择具有相同值的行

来自分类Dev

选择具有相同列值的行(Mysql)

来自分类Dev

MySQL选择具有相同条件值的顶部行

来自分类Dev

访问SQL选择具有与条件结果相同的值的行

来自分类Dev

PostgreSQL选择具有相同列值的行

来自分类Dev

选择具有与给定ID相同值的行

来自分类Dev

从不同的列中选择具有相同值的行

来自分类Dev

如果列多次具有相同的值,则选择行

来自分类Dev

如何选择具有相同值的表行?

来自分类Dev

MySQL选择具有相同值的3行

来自分类Dev

如何选择具有相同数字绝对值的行

Related 相关文章

  1. 1

    SQL在具有限制的选择查询后删除行

  2. 2

    SQL 选择多条记录,每次迭代都有限制

  3. 3

    选择两列中所有行都具有相同值的记录

  4. 4

    MySQL选择具有相同值的行

  5. 5

    从列表中查找具有值的所有行,并且所有行都具有相同的ID MYSQL

  6. 6

    如何根据当前枚举值选择具有限制的随机枚举值?

  7. 7

    MySQL查询仅在所有行都等于差异值时返回具有相同值的所有行

  8. 8

    聚合每个标签,当每一行都有一个标签数组时

  9. 9

    MySQL-按类别随机获取记录,并且每个类别都有限制

  10. 10

    MySQL从ID选择具有相同值的所有行

  11. 11

    如何选择具有相同值的所有行

  12. 12

    选择两列具有相同值的所有行?

  13. 13

    PHP Yii条件选择具有限制的随机记录

  14. 14

    PHP Yii条件选择具有限制的随机记录

  15. 15

    选择不同列中具有相同值的行或 null 。有多行具有相同的 id

  16. 16

    具有限制和默认值的XSD语法

  17. 17

    如何选择具有所有“列”值且具有相同值的行?

  18. 18

    MySQL选择具有相同列值的行

  19. 19

    从不同的列中选择具有相同值的行

  20. 20

    选择具有相同列值的行(Mysql)

  21. 21

    MySQL选择具有相同条件值的顶部行

  22. 22

    访问SQL选择具有与条件结果相同的值的行

  23. 23

    PostgreSQL选择具有相同列值的行

  24. 24

    选择具有与给定ID相同值的行

  25. 25

    从不同的列中选择具有相同值的行

  26. 26

    如果列多次具有相同的值,则选择行

  27. 27

    如何选择具有相同值的表行?

  28. 28

    MySQL选择具有相同值的3行

  29. 29

    如何选择具有相同数字绝对值的行

热门标签

归档