개별 레슨 길이를 더하여 온라인 코스의 기간을 찾으려고합니다. 그러나 각 레슨은 코스에 속하는 장에 속합니다.
Course table
| course_id | name | date | ...
Chapter table
| chapter_id | course_id | name |
Lesson table
| lesson_id | chapter_id | name | length |
lesson
테이블이 course
테이블에 직접 연결되어 있으면 다음을 사용합니다.
SELECT SEC_TO_TIME( SUM( TIME_TO_SEC( `length` ) ) ) AS totaltime
FROM lesson
WHERE course_id = 'WEB001'
chapter
표 를 살펴봄으로써 코스에 속한 모든 레슨의 길이를 어떻게 합산 할 수 있습니까?
PS '길이'속성은 '시간'유형입니다.
데이터 내에서 적절한 관계를 만들기 만하면됩니다.
부분적으로 살펴보고 먼저 필요한 데이터를 선택해 보겠습니다.
SELECT c.*, ch.chapter_id, ch.name, l.lesson_id, l.`length`
FROM course AS c
INNER JOIN chapter AS ch ON c.course_id = ch.course_id
INNER JOIN lesson AS l ON ch.chapter_id = l.chapter_id
WHERE c.course_id = 'WEB001'
보시다시피 필요한 모든 데이터가 있습니다.
이제 귀하의 쿼리는 다소 분명합니다.
SELECT SUM( TIME_TO_SEC( l.`length` ) AS totaltime
FROM course AS c
INNER JOIN chapter AS ch ON c.course_id = ch.course_id
INNER JOIN lesson AS l ON ch.chapter_id = l.chapter_id
WHERE c.course_id = 'WEB001'
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다