Semesters Table
+----+------+
| ID | Name |
+----+------+
| 1 | 1st |
| 2 | 2nd |
+----+------+
Subjects Table
+----+-------------+-------------+
| ID | Semester Id | Name |
+----+-------------+-------------+
| 1 | 1 | Mathematics |
| 2 | 1 | English |
| 3 | 2 | Mathematics |
| 4 | 2 | English |
+----+-------------+-------------+
Tests Table
+----+------------+-------+
| ID | Subject ID | Score |
+----+------------+-------+
| 1 | 1 | 70 |
| 2 | 1 | 75 |
| 3 | 2 | 75 |
| 4 | 2 | 70 |
| 5 | 3 | 75 |
| 6 | 3 | 70 |
| 7 | 4 | 70 |
| 8 | 4 | 75 |
+----+------------+-------+
2番目のテストのスコアは、テストのIDにMAXを使用して取得し、サブジェクトIDでグループ化することができます。しかし、その後、私は学期でグループ化されたスコアの最小値を取得する必要があります。最大数のSQL
1つのSQL文で、各学期の最低スコア2NDテストを取得できますか?
結果セットは次のようになります。
+----------+-------------+-------+
| Semester | Subject | Score |
+----------+-------------+-------+
| 1st | English | 70 |
| 2nd | Mathematics | 70 |
+----------+-------------+-------+
これはMySQL版です。
MySQL。ビューを作成してビューに参加することを考えましたが、何百ものテストがあるときに問題が発生する可能性があります。 –
'何かの下限の制限2 'は' something'の値によって2つの最も低い結果を与えます。等しく低い値がいくつかある場合、これらのすべてをこのようにしないことに注意してください。代わりに[分析関数](https://explainextended.com/2009/03/10/analytic-functions-first_value-last_value-lead-lag/)を検討してください。 – 9000
例には2つのテストしかありません。なぜ "2nd"は最小限ではないのですか?あなたは関係について何をしていますか? –