0
A
回答
1
是的,你可以這樣做私生子:
ORDER BY CASE parentid WHEN 0 THEN id ELSE parentid END ASC, id ASC
我說這是一個私生子,因爲它需要爲每一個單列計算。它不會高性能。解決這個問題的更好方法是使用更好的數據模型。您也可以使用Nested Set Model來存儲,而不是僅存儲父標識。所以基本上你的數據模型看起來像:
id | parentid | name | left | right
1 | 0 | Peter | 1 | 4
2 | 0 | Marcus | 5 | 8
3 | 1 | Monica | 2 | 3
4 | 2 | Sergei | 6 | 7
現在,這一說法,您的訂單將減少到:
ORDER BY `left` ASC
哪會做同樣的事情。給這個嵌套的文章一個讀。有更好的方法來解決這個問題,而不僅僅是清除,如果你需要從過濾或排序中獲取數據...
相關問題
- 1. linq:祖父母 - 父母 - 子女查詢
- 2. 遍歷XML基於他們的父母
- 3. 由他們的父母繪製QWidgets
- 4. django:子類別和他們的父母
- 5. 查詢樹中的父母
- 6. 在同一個MYSQL查詢中的父母和子女消息
- 7. Mysql查詢沒有得到所有的父母ID
- 8. TFS查詢沒有父母的任務
- 9. 父母子關係的MDX查詢
- 10. MySQL查詢對父子
- 11. Mysql - 訪問從祖父母的加入表中的列在父母的子查詢中的WHERE從
- 12. 算法在樹中選擇的節點和他們的父母
- 13. 隨機生成的樹結構與他們的父母
- 14. ,從他們的父母繼承的嵌套類
- 15. CSS3 flexbox:flexboxes內部的flexboxes不包含在他們的父母內
- 16. NSPredicate查詢父母和孩子
- 17. 父母和祖父母div類檢查
- 18. mysql查詢找到最常見的和他們的鄰居
- 19. 試圖根據他們父母的位置來定位孩子
- 20. Elasticsearch回報嵌套對象,而他們的父母
- 21. 父母身高不跟隨他們的浮動兒童
- 22. 中心的孩子,如果他們不適合父母
- 23. 定位精靈相對於他們的父母
- 24. 更新子女記錄與他們的父母attrs創建?
- 25. 將幾個數據與他們的父母結合?
- 26. 爲什麼孩子div超出他們的父母div?
- 27. 如何調整3 div相對於他們的父母(響應)
- 28. 父母的父母的父母
- 29. MySQL的展示類和他們在一個查詢
- 30. mysql查詢(根據他們的活動提取用戶數)
謝謝。你的回答非常有幫助! – Memochipan
最後我只介紹了'排序'列而不是'左'和'右'列。 – Memochipan
我還發現這個非常有趣的文章:http://sqllessons.com/categories.html使用鄰接列表模型。 – Memochipan