私は次の表を持っています
+----+----------+-----+
| id | priority | sub |
+----+----------+-----+
| 1 | 1 | A |
| 2 | 3 | A |
| 3 | 4 | A |
| 4 | 2 | B |
| 5 | 9 | B |
+----+----------+-----+
各サブの優先度が最も高い行を取得しようとしています。したがって、この結果:
+----+----------+-----+
| id | priority | sub |
+----+----------+-----+
| 3 | 4 | A |
| 5 | 9 | B |
+----+----------+-----+
グループ化を試みましたが、予測できない結果が得られます。私の推測では、ネストされたクエリで、最初は次のように最高の優先度を見つけ始めました。
select max(priority),sub from t group by sub
それは私に
+----------+-----+
| priority | sub |
+----------+-----+
| 4 | A |
| 9 | B |
+----------+-----+
しかし、IDも必要です。クエリに追加すると、明らかに間違ったIDが返されます。この結果を同じテーブルのクエリと結合すると、エラー(ER_NONUNIQ_TABLE(1066))が発生します。これは理にかなっています...私をプッシュできる人は誰でも正しい方向に?