Как насчет этого?
SELECT * FROM tbl WHERE Service_Duration = (
SELECT MAX(Service_Duration) FROM tbl WHERE Overall_Rank = (SELECT MIN(Overall_Rank) FROM tbl))
Предполагая, что я вас правильно понял, вы заинтересованы в том, чтобы вернуть строки с самым низким значением Overall_Rank
, которые получили максимальное значение в столбце Service_Duration
.
EDIT:
Чтобы ускорить его, вы можете попытаться создать индексы для Service_Duration и Total_Rank, как кто-то предложил.
Я не знаю, какой код выполняет этот SQL-запрос (Java, PHP?), Но, возможно, было бы проще сделать это в двух отдельных запросах? Я не эксперт в области MySQL, но я полагаю, что выполнение подзапроса в подзапросе не является оптимальным.