Tidak ada arti anak pertama dalam database, Anda bisa mendapatkan anak pertama dengan minimum id
atau nilai minimum, tetapi nilainya tidak disimpan dengan urutan tertentu dalam tabel, sehingga Anda tidak dapat membedakan nilai mana yang pertama.
Tapi, dengan asumsi bahwa id
adalah kolom inkremental otomatis, maka nilai anak pertama adalah nilai minimum id
, maka Anda dapat melakukan ini:
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;
Lihat aksinya di sini:
Ini akan memberi Anda :
| PARENT | NAME | VALUE |
-------------------------
| 1 | aaa | 111 |
| 3 | ccc | 333 |
Atau: Anda bisa mendapatkannya dengan nilai minimum:
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;
Lihat aksinya:
Ini akan memberi Anda:
| PARENT | NAME | VALUE |
-------------------------
| 1 | aaa | 111 |
| 3 | ccc | 333 |