私はこのSQLを持っています:
SELECT itemId, parentId, value FROM item ORDER BY value DESC
正しく返されます:
+--------+------------------+
| itemId | parentId | value |
+--------+------------------+
| 1 | 5 | 500 |
| 4 | 1 | 500 |
| 2 | 5 | 10 |
| 5 | 1 | 10 |
| 3 | 5 | 0 |
| 6 | 1 | 0 |
+--------+----------+-------+
「GROUP BY parentId」を追加しようとしましたが、これは ORDER BY 句を無視して、2 つのランダムな項目を選択しているようです。
+--------+------------------+
| itemId | parentId | value |
+--------+------------------+
| 2 | 5 | 10 |
| 6 | 1 | 0 |
+--------+----------+-------+
各parentIdの値が最も高い項目のみを返すには、どのSQLを使用すればよいですか?:
+--------+------------------+
| itemId | parentId | value |
+--------+------------------+
| 1 | 5 | 500 |
| 4 | 1 | 500 |
+--------+----------+-------+