このサイトではこれらの質問に対して別々の回答が見つかりましたが、これらを1つのクエリにまとめることができるかどうかを知りたいと思います。(COUNT()を使用して)行のSUM()の次に大きな値を取得できますか?
私はCourseIDとStudentIDを含むFollowsCourseテーブルを持っています。 CourseIDごとにStudentIDの行の合計を計算し、結果の出力の2番目に大きな値を取得することによって、学生の数量を取得したいと思います。
どこから始めたらいいかわからないので、大歓迎です!
EDIT
コードまたは所望の結果を追加しないためすみません。私は明確にしようとします!
目的の結果は次のようになり、私はLIMITを使用しないことを追加するのを忘れ、質問(と、それはOFFSETオプションのパラメータです)
を求めた場合:
Example Table FollowsCourse
| StudentID | CourseID |
| 1 | 1 |
| 2 | 1 |
| 3 | 2 |
| 4 | 2 |
| 5 | 2 |
| 6 | 1 |
| 7 | 1 |
| 8 | 3 |
result:
| CourseID | Sum of Count |
| 1 | 4 |
| 2 | 3 |
| 3 | 1 |
その後、何とか私がする必要があるでしょうだから、2
はPS私はMOを追加する必要があることを指摘して感謝して質問をすると多くの経験を持っていないCourseIDことと思います。この場合のカウント(の二番目に大きい和とCourseIDを取得私の質問についての情報。
良い場所にするために使用されていますあなたの質問にサンプルデータと希望の結果*を提供することです。これは、あなたと他の人の両方があなたがしていることを理解するのに役立ちます。 –
クエリ「ASC」(ASCENDING)と「LIMIT 1,1」を注文します(最初の1はオフセットです - 0から2番目の1は行の数です) –
"SELECT CourseID、count(CourseID)GROUP BY CourseID ORDER BY count(CourseID)DESC "は、各行にコースが含まれているリストとコースごとにいくつの生徒がコースごとに最高から最下位に並べられたリストを表示する必要があります。リストをたどって2番目の結果を取得するだけです最高。しかし、私はそれをテストすることができなくてもSQLを書くときに少し間違いがあるので、私は答えとして投稿することを躊躇します。 –