我有一个问题,并且不知道,搜索什么来寻找解决方案。
说明
我有一个mysql表,其中包含以下列“id”,“name”,“value”,“parent”,其中“id”为主键。 “id”是自动增长号,“name”是类别的名称,“value”是类别的值,“parent”是该行的父名(类别)。 如何以正确的顺序显示此表,表示按其父名称排序。
示例:
SQL:
id |名字|价值|父
1 | n1 | bla1 |
2 | n2 | bla2 | N3
3 | n3 | bla3 | N1
HTML:
n1 bla1
n3 bla3
n2 bla2
请帮我解决一些codenippet或有用的链接...任何帮助apreciated。 在此先感谢您的帮助。
答案 0 :(得分:1)
您可以使用SQL中的ORDER BY
子句对任何表进行排序。表没有“正确”的顺序;它们仅由该子句排序,您必须在任何查询中包含该子句,您希望以特定方式生成结果。在这种情况下,你会写:
SELECT * FROM your_table ORDER BY parent;
现在,通过将parent
设置为父级id
,而不是名称,您可以获得更可靠的结果,这样如果名称发生变化,您就不会破坏父/子关系。然后,您可以使用JOIN
找出父母的姓名。
答案 1 :(得分:0)
SELECT * FROM tableName ORDER BY parent, name;
答案 2 :(得分:0)
Select id,name,value,parent from MyTable order by parent asc
将按升序排序
Select id,name,value,parent from MyTable order by parent desc
将按降序排序