Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cha / Con trong cùng một bảng

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 |



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lỗi cú pháp SQL khi tạo một thủ tục được lưu trữ trong MySQL

  2. Nhập xuất khẩu dòng lệnh cơ sở dữ liệu mysql siêu nhanh

  3. mảng php mysql - chèn thông tin mảng vào mysql

  4. Khi nào chúng tôi chọn DateTime trên Timestamp

  5. Gửi hình ảnh đến cơ sở dữ liệu MySQL với Android