データベースの最初の子の意味はありません。id
の最小値で最初の子を取得できます。 または値の最小値ですが、値はテーブルに特定の順序で格納されていないため、どの値が最初の値であるかがわかりません。
ただし、id
は自動増分列であり、最初の子の値は最小のid
の値です。 、次にこれを行うことができます:
SELECT
t1.parent,
t2.name,
t1.value
FROM tablename AS t1
INNER JOIN
(
SELECT MIN(id) AS id, parent
FROM tablename
GROUP BY parent
) AS t22 ON t22.id = t1.id AND t1.parent = t22.parent
INNER JOIN tablename AS t2 ON t1.parent = t2.id;
ここで実際の動作を確認してください:
これはあなたに与えるでしょう:
| PARENT | NAME | VALUE |
-------------------------
| 1 | aaa | 111 |
| 3 | ccc | 333 |
または: 最小値で取得できます:
SELECT
t1.parent,
t2.name,
MIN(t1.value) AS value
FROM tablename AS t1
INNER JOIN tablename AS t2 ON t1.parent = t2.id
GROUP BY t1.parent, t2.name;
実際の動作をご覧ください:
これにより、次のことが可能になります:
| PARENT | NAME | VALUE |
-------------------------
| 1 | aaa | 111 |
| 3 | ccc | 333 |