2013-04-01 2 views
0

Я хочу узнать название курса, которое предлагается больше всего, путем подсчета course_id в таблице предложений.как подсчитать повторяющиеся экземпляры идентификатора внешнего ключа в таблице

курс:

+-----------+--------------+-----------------+-------------+ 
| course_id | course_title | course_duration | course_cost | 
+-----------+--------------+-----------------+-------------+ 

Предложение:

+-------------+-----------+-------------------+-----------------+-------------------+ 
| offering_id | course_id | course_start_date | course_location | course_instructor | 
+-------------+-----------+-------------------+-----------------+-------------------+ 

Я попытался ниже запрос, и я не знаю почему, но я получаю сообщение об ошибке:

SELECT COURSE.COURSE_TITLE, 
    OFFERING.OFFERING_ID, 
    OFFERING.COURSE_ID 
    COUNT (OFFERING.COURSE_ID) as Mostly_Offered_Course 
FROM OFFERING 
INNER JOIN COURSE 
ON COURSE.COURSE_ID = OFFERING.COURSE_ID 

Я довольно новый т o оракул и SQL вы можете указать, где я совершил ошибку, спасибо.

ответ

0
SELECT course_title FROM Course WHERE course_id = 
    (
     SELECT course_id FROM 
     (
     SELECT course_id, COUNT(course_id) AS course FROM Offering 
     GROUP BY course_id 
     ORDER BY course DESC 
    ) AS a LIMIT 1 
    ) 

Это даст название с наибольшим использованием. Протестировано на mysql. На MSSQL просто удалите «LIMIT 1» и измените «course_id» в «First (course_id)» во втором select.

+0

Можете ли вы помочь мне найти 'course_title', у которого больше всего предложений, спасибо. –

+0

попробуйте код, включенный в мой ответ выше –

+0

Я хочу получить название курса с наибольшим количеством предложений. 'Course_ID'' COU-1054070' имеет наибольшее количество предложений. поэтому выход должен быть только 'course_title' для соответствующего' course_id', можете ли вы мне помочь. –

Смежные вопросы