求一条 mysql 查询语句

2019-01-23 18:41:07 +08:00
 mamahaha

字段 1 =id ; 字段 2 =pid ; 临时字段 3 =path ;

/path 由 id 和 pid 拼接组成 /

如果 id>pid 则 path=id.pid; 如果 id<pid 则 path=pid.id;

/最后按 path 进行排序 /

求教这个语句咋整呀?

2998 次点击
所在节点    MySQL
7 条回复
ibx
2019-01-23 19:02:13 +08:00
你这个表设计应该是分销系统的业务吧
dapang1221
2019-01-23 19:05:24 +08:00
CONCAT(MAX(id, pid), '.', MIN(id,pid))
dapang1221
2019-01-23 19:06:29 +08:00
path 排序是个啥东西,123.345 这样的怎么排,字典序么……
lanterboy
2019-01-23 19:06:33 +08:00
case 函数
mamahaha
2019-01-23 19:14:28 +08:00
@dapang1221 感谢,就是直接连起来,123 和 456 组成 123456。.改成逗号就对了,我不太熟 mysql。
mayorbryant
2019-01-23 19:23:06 +08:00
SELECT if(id - pid > 0, CONCAT(id, '.', pid), CONCAT(pid, '.', id)) AS f_path FROM `your_table` ORDER BY `f_path`
mamahaha
2019-01-23 21:05:41 +08:00
@mayorbryant 感谢,已实现功能,感觉瞬间学会了 mysql

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/529926

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX