【问题标题】:mysql temporal yearmysql时间年
【发布时间】:2016-01-27 17:00:04
【问题描述】:

我在我的冠军数据库中建模和实施“时间”事件时遇到问题。

我有三个实体:球员、球队、转会、冠军,我想在冠军期间跟踪球员的转会(球员可以在冠军期间转移到另一支球队)

championship(id_championship*, name, year*)
player (id_player*, name, number, id_team*)
team (id_team, name)
transfer (id_player*, id_team_from*, id_team_to*, transfer _date)

谢谢。

【问题讨论】:

  • 您的问题是什么?你试过什么?
  • 使用我发布的实体,我无法在锦标赛期间存储球员的转会记录。我需要跟踪球员属于球队的时期。
  • 使用您的实际表格结构,您实际上可以跟踪球员所属球队的时期。所以对我来说没问题吗?您是否正在寻找执行此操作的查询?
  • 实际上是的,它可以提供帮助。谢谢。我是 mySQL 的新手

标签: mysql sql database temporal


【解决方案1】:

您可以试试这个查询,例如:

Select T1.id_player, T1.id_team_from as Team, T1.Transfer_date as PeriodFrom, 
T2.Transfer_date as PeriodTo
            from  
        (Select id_player,id_team_from, id_team_to, Transfer_date, 
        row_number() over (partition by id_player order by transfer_date desc) RN1)T1
            inner join 
        (Select id_player,id_team_from, id_team_to, Transfer_date, 
        row_number() over (partition by id_player order by transfer_date desc) RN2)T2
            on T1.RN1=T2.RN2+1
            and T1.id_player=T2.id_player

它应该返回从 PeriodFrom 到 PeriodTo 的所有玩家所在球队。

【讨论】:

    猜你喜欢
    • 2010-12-15
    • 1970-01-01
    • 2017-04-14
    • 1970-01-01
    • 2014-10-12
    • 2011-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多