【问题标题】:getting one estimate from multiple teams从多个团队获得一份估算
【发布时间】:2023-03-24 07:41:01
【问题描述】:

表格:估计

id | team_id | project_id | value | type

我想要达到的只是一种估算类型的最新值。

类型为 1、2 或 3

假设我们有 project_id 1,估计 type 1team_id 8value 20 和另一个一个 project_id 1 team_id 8 type 2value 80

我只想看到团队 8 的 project_id 1 的值 80。

有什么想法吗?

【问题讨论】:

  • 您如何确定示例中的第二条记录是“最新”记录?是因为它具有type 的最大值吗?
  • 确实,最高的类型编号是最重要的,所以如果估计类型 3 可用,我们应该显示此估计,否则类型 2 或 1
  • SELECT value FROM estimates WHERE project_id = 1 AND team_id = 8 ORDER BY type DESC LIMIT 1?

标签: mysql group-by subquery


【解决方案1】:
SELECT e.value, e.team_id, e.project_id
  FROM estimates e
INNER JOIN ( SELECT MAX(type_id) AS type_id
                  , team_id
                  , project_id
               FROM estimates 
           GROUP BY team_id, project_id
           ) mx ON (    mx.team_id = e.team_id 
                    AND mx.project_id = e.project_id
                    AND mx.type_id = e.type_id
                   )  

【讨论】:

  • 太棒了!就是这样:-)!
猜你喜欢
  • 1970-01-01
  • 2015-07-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-17
  • 1970-01-01
  • 1970-01-01
  • 2016-04-10
相关资源
最近更新 更多