Учитывая схемувключают только первые и последние группы в результаты запроса
Следующий запрос
SELECT a.user_id,
a.id,
a.date_created,
avg(ai.level) level
FROM assessment a
JOIN assessment_item ai ON a.id = ai.assessment_id
GROUP BY a.user_id, a.id;
Возвращает эти результаты
user_id, a.id, a.date_created, level
1, 99, "2015-07-13 18:26:00", 4.0000
1, 98, "2015-07-13 19:04:58", 6.0000
13, 9, "2015-07-13 18:26:00", 2.0000
13, 11, "2015-07-13 19:04:58", 3.0000
Я хотел бы изменить запрос, чтобы для каждого пользователя возвращались только самые ранние результаты. Другими словами, следующее должно быть возвращено вместо
user_id, a.id, a.date_created, level
1, 99, "2015-07-13 18:26:00", 4.0000
13, 9, "2015-07-13 18:26:00", 2.0000
Я думаю, что нужно добавить пункт HAVING
, но я изо всех сил, чтобы выяснить точный синтаксис.
является a.id уникальным в этой таблице? – dognose
@dognose yes 'id' является первичным ключом в каждой таблице –