如何选择和父子在MySQL
问题描述:
排序呢
我有一个表,看起来像这样如何选择和父子在MySQL
id parent_id name address email telephone
2 NULL name address email phone
3 NULL name2 address2 email2 phone2
4 NULL name3 address3 email3 phone3
5 NULL name4 address4 email4 phone4
6 NULL name6 email6 phone6
7 5 name7 email7 phone7
8 NULL name8 email8 phone8
我想要做一个选择就可以了,所以我选择所有的行,但如果行有一个父母,它会显示在父母之后。因此,在这种情况下,行会这个样子
id parent_id name address email telephone
2 NULL name address email phone
3 NULL name2 address2 email2 phone2
4 NULL name3 address3 email3 phone3
5 NULL name4 address4 email4 phone4
7 5 name7 email7 phone7
6 NULL name6 email6 phone6
8 NULL name8 email8 phone8
使用id = 7行的一个id为以先= 6,因为一个使用id = 7的PARENT_ID是5所以它之后直接放置行。
答
您可以在您的order by
条款使用case
语句做到这一点:
select *
from yourtable
order by case when parentid is null then id else parentid end, parentid
谢谢,这是我一直在寻找 –