回答

收藏

MySQL复杂的多列排序

技术问答 技术问答 269 人阅读 | 0 人回复 | 2023-09-11

我有下面的MySQL数据库表充满数据:
+ ?8 I5 `% c$ W4 q, z+ c|id|parentId|position
% v( m1 c/ p: z* m9 ]2 p' k|20|NULL    |1+ L, v' |  X$ L4 |2 ~0 H6 v: Q
|21|NULL    |2/ b* [* d& X: r( S, D" B. t$ U
|22|NULL    |3, Z9 @, {! l0 G# w6 r
|23|21      |1! E5 Z0 G4 k3 x
|24|21      |2- O7 d. n8 p5 ^. \/ B/ W, J
是否有可能对其进行排序以获得最终结果,如下所示:. w6 V/ @" V( C' W0 v' l" x
|id|parentId|position
9 u) e: [6 n* X3 n|20|NULL    |1
2 V8 q: Q  |* T/ f0 o! M$ ^|21|NULL    |2
, Y) l6 `/ u: `' x|23|21      |1. P' V! k% i  H+ m& F
|24|21      |2
/ V, e# h, t( f. k|22|NULL    |3+ B) Z! v+ S, ^  o$ `2 _5 u
您可能会注意到,父级内部的位置从1开始。
4 m* L6 o+ {" [+ Z' h, L因此,我希望它按三列排序:id,parentId和位置。有任何想法吗?
. T/ o. O& c$ K% z) q: o               
# o: B3 S3 Z; \2 d( f$ S解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则