gpt4 book ai didi

mysql - 如何在不使用 "SQL"中的 GROUP BY 的情况下解决此操作

转载 作者:行者123 更新时间:2023-11-29 22:11:02 25 4
gpt4 key购买 nike

我有这些表:

  • 步骤(stepId_,stepName)
  • stepOfProject(idProject_,stepId_,dateofStart)
  • 项目(IdProject_、idResponsable)

我想获取使用此查询的每个项目的最新步骤:

select stepName 
from step
where step.step=(select max(idstep) from stepOfProject where idProject=1) ;

但它仅适用于 1 号项目;我想获取所有的projectId。

最佳答案

试试这个:

   select s1.stepName, sp1.projectId
from steps s1
join stepOfProject sp1 on s1.stepId = sp1.stepId
left join stepOfProject sp2 on sp1.idProject = sp2.idProject
and sp2.stepId > sp1.stepId
where sp2.stepId is null

左连接在这里所做的是检查是否存在属于同一项目、具有更高stepId的另一个步骤。如果该记录存​​在,则该记录将从结果中排除(这就是sp2.stepId is null 的作用)。

这样您就只能得到每个项目编号最高的 stepId

关于mysql - 如何在不使用 "SQL"中的 GROUP BY 的情况下解决此操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31666330/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com