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

我对 oracle 和 SQL 还很陌生,你能指出我在哪里犯了错误,谢谢。

4

1 回答 1

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)”。

于 2013-04-01T07:50:38.343 回答