Middle
Курс күнінің ең жоғары датасы үшін аралық кестемен сұрауды қалай құрылымдау керек?
sobes.tech AI
AI-дан жауап
Орташа кестені пайдалана отырып, курстың ең соңғы күнін алу үшін, агрегация және JOIN қолданатын SQL сұрауын қолдануға болады.
Мысалы, кестелер бар деп есептейік:
courses(id, name)course_dates(course_id, date, price)
Міндет — әр курс үшін ең соңғы күнді алу.
Мысал сұрау:
SELECT c.id, c.name, cd.date, cd.price
FROM courses c
JOIN course_dates cd ON c.id = cd.course_id
JOIN (
SELECT course_id, MAX(date) AS max_date
FROM course_dates
GROUP BY course_id
) max_dates ON cd.course_id = max_dates.course_id AND cd.date = max_dates.max_date;
Мұнда:
max_datesішкі сұрауында әр курс үшін ең соңғы күн таңдалады.- Содан кейін негізгі сұрау курстарды күндермен қосады және ең соңғы күн бойынша сүзеді.
Бұл әдіс арқылы орташа кестені пайдалана отырып, курстың ең соңғы күнін алуға болады.