MySQL的左连接是最高的

MySQL的左连接是最高的,mysql,Mysql,我想为共享同一工作的特定案例选择工件总数。 但我只想要最高职位的结果 我有下表(3dprint) 所以我试过了 SELECT SUM(Qty_piece) FROM 3dprint WHERE 3dprint_caseID = 186 ORDER BY 3dprint_jobID DESC LIMIT 1 但它给我7。我要4号。如何继续工作?这应该可以: SELECT SUM(Qty_piece) FROM 3dprint WHERE 3dprint_caseID = 186 Group

我想为共享同一工作的特定案例选择工件总数。 但我只想要最高职位的结果

我有下表(3dprint)

所以我试过了

SELECT SUM(Qty_piece) FROM 3dprint
WHERE 3dprint_caseID = 186 
ORDER BY 3dprint_jobID DESC LIMIT 1
但它给我7。我要4号。如何继续工作?

这应该可以:

SELECT SUM(Qty_piece) FROM 3dprint
WHERE 3dprint_caseID = 186 
Group by 3dprint_caseID
Having job_id = max(job_id)
ORDER BY 3dprint_jobID DESC LIMIT 1

虽然@p.Jairaj的答案是正确的,但如果您实际上总是发送案例id,则不需要分组

SELECT Qty_piece FROM 3dprint
WHERE case_id = 186  and job_id in (select max(job_id) from 3dprint where case_id = 186)
使用带有小排版的查询并删除与之无关的求和函数:

SELECT Qty_piece FROM 3dprint
WHERE case_id = 186 
ORDER BY job_id DESC LIMIT 1
您已经按作业id排序,并且限制为1,因此不需要求和函数。仅当您希望将所有值相加(总计)时才使用sum函数。

我刚刚添加了
选择sum(Qty\u piece)
,以便直接获得结果。对于共享同一作业的特定案例,您所说的工件总和是什么意思?总和应该是
数量的最大值还是最小值
?或者,您是否只需要所有
作业ID的
数量
之和?
SELECT Qty_piece FROM 3dprint
WHERE case_id = 186 
ORDER BY job_id DESC LIMIT 1