У меня есть таблица, которая отслеживает посещаемость курса. Столбцы - это курс, уроки, персонажи и дата. У меня есть запрос (ниже), который извлекает самую раннюю дату, когда появляется человек вместе с соответствующим курсом, уроком и персонажем. Это используется, чтобы определить, когда человек начал конкретный курс и убедиться, что он начал с первого урока. Это отлично работает, но там, где я застрял, выполняется этот запрос за курс. Например, нахождение первого свидания каждого человека в определенном курсе началось, а не для каждого курса. Прямо сейчас я просто запускаю более общий запрос и фильтрую его в слое biz.Как выбрать строку минимального значения группы, а также использовать оператор where
Я затемненное это немного, так что простите опечатки:
select a.courseid,
a.lesson,
a.personid,
a.thedate
from (select personid,
min(thedate) as earliestdate
from attendance
group by personid) as x
inner join attendance as a on (a.personid = x.personid and a.thedate = x.thedate)