Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Tanya orang tua dan anak-anak di tabel referensi diri

Itu tidak menguji tetapi saya pikir ini harus bekerja di MySQL juga:

ORDER BY CASE WHEN parent_id=-1 THEN id ELSE parent_id END, created_at

Sunting: Jika Anda tidak dapat menganggap Id naik dalam urutan logis yang sama dengan Komentar, ini akan menjadi sedikit lebih rumit:

SELECT parent_id,id,created_at parent_date,null child_date,content
    FROM Comments
    WHERE parent_id=-1
UNION
SELECT c.parent_id,c.id,p.created_at as parent_date,c.created_at as child_date,c.content
FROM Comments c
    JOIN (SELECT id,created_at,content
            FROM Comments
            WHERE parent_id=-1
            GROUP BY id,created_at,content) p ON p.id=c.parent_id
ORDER BY parent_date,child_date



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Memasukkan data yang disandikan json ke mysql

  2. Apa perbedaan kinerja dalam implementasi divisi relasional MySQL (IN AND alih-alih IN OR)?

  3. Klausa WHERE dalam pernyataan INSERT menggunakan mysql/php

  4. Bagaimana cara mengembalikan data dari kueri MySQL di aplikasi Flask?

  5. Klausa SQL IN lebih lambat dari kueri individual