Middle
Курстун эң жогорку датасы үчүн аралык таблицасы менен суроону кантип түзүү керек?
sobes.tech AI
AIден жооп
Мектептин эң жогорку датасын ортодогу таблица колдонуп алуу үчүн, SQL суроосун агрегация жана JOIN менен колдонсо болот.
Айталы, төмөнкү таблицалар бар деп эсептейли:
courses(id, аталышы)course_dates(course_id, дата, баа)
Маселе — ар бир курс үчүн эң жогорку датаны алуу.
Суроо мисалы:
SELECT c.id, c.аталышы, cd.дата, cd.баа
FROM courses c
JOIN course_dates cd ON c.id = cd.course_id
JOIN (
SELECT course_id, MAX(дата) AS max_дата
FROM course_dates
GROUP BY course_id
) max_dates ON cd.course_id = max_dates.course_id AND cd.дата = max_dates.max_дата;
Мында:
max_datesички суроодо, ар бир курс үчүн эң жогорку дата тандалат.- Андан соң негизги суроо курстарды даталар менен бириктирип, эң жогорку дата боюнча фильтрлейт.
Бул ыкма курсунун эң жогорку датасы менен актуалдуу маалыматтарды алууга мүмкүндүк берет, ортодогу таблица колдонулуп.