У меня есть следующий запрос SQL, и его вывод такой, как показано ниже:
select stds.classID as classID, stds.clsLimit as clsLimit
, max(stds.id)as maxStdsID
from class cls
left outer join students stds
on cls.id = stds.classID
group by stds.classID,stds.clsLimit
Для каждого classID я хочу выбрать максимум maxStdsID с clsLimit равным 1.
Если нет maxStdsID с clsLimit равным 1, то я бы хотел выбрать максимальное значение maxStdsID с clsLimit равным 0
Я попробовал то же самое с приведенной ниже логикой
select stds.classID as classID
, max(CASE WHEN stds.clsLimit = 1 then stds.id else stds.id end) as maxStdsID
from class cls
left outer join students stds
on cls.id = stds.classID
group by stds.classID
Я не получаю желаемый результат.