2016-11-24 118 views
-4

找到第二个最大数量的先决条件的课程。您应该返回结果作为课程的名称和此问题中的先决条件的数量。请考虑可能有一些课程,可能没有任何先决条件。什么是语句查询

prereq表

| course_id | prereq_id |

| BIO-301 | BIO-101 |

| BIO-399 | BIO-101 |

| CS-190 | CS-101 |

| CS-315 | CS-101 |

| CS-319 | CS-101 |

| CS-347 | CS-101 |

| EE-202 | EE-181 |

| FIN-201 | MTH-101 |

| MTH-102 | MTH-101 |

| MTH-221 | MTH-101 |

| PHY-101 | MTH-101 |

| MTH-201 | MTH-102 |

| MTH-221 | MTH-102 |

| PHY-550 | MTH-102 |

| PHY-550 | MTH-221 |

| MU-199 | MU-101 |

| CS-319 | PHY-101 |

| EE-181 | PHY-101 |

| EE-202 | PHY-101 |

| PHY-550 | PHY-101 |

| NULL | NULL |

+1

这不是让你让别人做你的功课的地方。除非你明确指出1.你的问题是什么。 2.你有什么问题。和3.显示你迄今为止尝试过的,没有人会帮你解决这个问题 – khuderm

+1

但是,如果你发布你认为正确的答案是什么,有人可能会告诉你是否有任何问题! –

+0

这不是我正在学习MySQL的作业,我发现了这个。我做了这个SELECT(SELECT count(course_id)from prereq where course_id ='BIO-301'as count_1)@khuderm –

回答

-1

这可以通过选择子字符串并选择最大查询来解决。供您参考,您可以看到这个

http://www.w3resource.com/mysql/string-functions/mysql-substring-function.php

您可以使用此查询来解决问题:

select course_id, prereq_id from prereq_table where substring(prereq_id,5,1)=(select max(substring(prereq_id,5,1)) from prereq_table) 

我填补我的表,这个

enter image description here

和通过使用上面的查询,它将返回这个

enter image description here

+0

你可以简化你的解释给我关于你的问题吗?也许我有一些误解,因为我的英语不太好 – Faris