Không có ý nghĩa nào của con đầu tiên trong cơ sở dữ liệu, bạn có thể lấy con đầu tiên bằng giá trị nhỏ nhất của id
hoặc giá trị tối thiểu, nhưng các giá trị không được lưu trữ theo thứ tự cụ thể trong bảng, vì vậy bạn không thể biết giá trị nào là giá trị đầu tiên.
Tuy nhiên, giả sử rằng id
là cột tự động tăng dần, sau đó giá trị của phần tử con đầu tiên là giá trị của id
tối thiểu , thì bạn có thể làm điều này:
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;
Xem nó hoạt động tại đây:
Điều này sẽ cung cấp cho bạn:
| PARENT | NAME | VALUE |
-------------------------
| 1 | aaa | 111 |
| 3 | ccc | 333 |
Hoặc: Bạn có thể nhận được nó bằng giá trị nhỏ nhất:
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;
Xem nó trong thực tế:
Điều này sẽ cung cấp cho bạn:
| PARENT | NAME | VALUE |
-------------------------
| 1 | aaa | 111 |
| 3 | ccc | 333 |