表:服务

id companyid jobid
 1         1     1
 2         1     2
 3         1     2
 4         2     3
 5         3     4
 6         3     1
 7         4     2
 8         5     2


我输入以下查询:

SELECT *
FROM service
WHERE jobID = 2
ORDER BY companyID desc, ID desc


我得到以下输出:

id companyid jobid
 8         5     2
 7         4     2
 3         1     2
 2         1     2


但我希望我的预期输出如下:

id companyid jobid
 8         5     2
 7         4     2
 3         1     2


如何修改查询以获得预期的输出?

最佳答案

您应该能够只将max函数与group by子句一起应用:

select max(id) id, companyid, jobid
from service
where jobid = 2
group by companyid, jobid
order by id desc


给定您的样本数据,结果将是:

id  companyid   jobid
8   5           2
7   4           2
3   1           2

关于mysql - 根据工作ID显示最新ID和公司ID,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33196974/

10-11 04:42