Mysql 如何获取此查询中每个技师最后完成的服务?
我有这种关系 我很想得到每个Tecnico技术人员最后完成的Servicio.FechaTermino service Servicio 使用此查询:Mysql 如何获取此查询中每个技师最后完成的服务?,mysql,sql,greatest-n-per-group,Mysql,Sql,Greatest N Per Group,我有这种关系 我很想得到每个Tecnico技术人员最后完成的Servicio.FechaTermino service Servicio 使用此查询: SELECT FechaTermino as FechaTermino, idTecnico, Latitud, Longitud, Nombre, Apellido, Flag, idServicio FROM Servicio, Tecnico, Servicio_Tecnico WHERE Servicio.idServicio = Ser
SELECT FechaTermino as FechaTermino, idTecnico, Latitud, Longitud, Nombre, Apellido, Flag, idServicio
FROM Servicio, Tecnico, Servicio_Tecnico
WHERE Servicio.idServicio = Servicio_Tecnico.Servicio_idServicio
AND Tecnico.idTecnico = Servicio_Tecnico.Tecnico_idTecnico
AND Completado = 1
我明白了:
观看idServiceCo=52
当我使用Max功能尝试获取每个技师最后一次完成的维修时
SELECT Max(FechaTermino) as FechaTermino, idTecnico, Latitud, Longitud, Nombre, Apellido, Flag, idServicio
FROM Servicio, Tecnico, Servicio_Tecnico
WHERE Servicio.idServicio = Servicio_Tecnico.Servicio_idServicio
AND Tecnico.idTecnico = Servicio_Tecnico.Tecnico_idTecnico
AND Completado = 1
Group by idTecnico
这种情况会发生
idServiceCio=52将消失,它将idServiceCio=8视为最后一个完成的服务
如何获得每位技师最后一次完成的服务?看起来Latitud、Longitud、IdSevicio字段一直在变化……这是一个问题。跟随标签寻找答案。Funcionó,gracias,muchas gracias。
SELECT UNO.* FROM
(SELECT FechaTermino AS FechaTermino, idTecnico, Latitud, Longitud, Nombre, Apellido, Flag, idServicio
FROM Servicio, Tecnico, Servicio_Tecnico
WHERE Servicio.idServicio = Servicio_Tecnico.Servicio_idServicio
AND Tecnico.idTecnico = Servicio_Tecnico.Tecnico_idTecnico
AND Completado = 1) AS UNO
LEFT OUTER JOIN
(SELECT FechaTermino AS FechaTermino, idTecnico, Latitud, Longitud, Nombre, Apellido, Flag, idServicio
FROM Servicio, Tecnico, Servicio_Tecnico
WHERE Servicio.idServicio = Servicio_Tecnico.Servicio_idServicio
AND Tecnico.idTecnico = Servicio_Tecnico.Tecnico_idTecnico
AND Completado = 1) AS DOS
ON (UNO.idTecnico = DOS.idTecnico AND UNO.FechaTermino < DOS.FechaTermino)
WHERE DOS.idTecnico IS NULL;