php – MySQL:如何通过( – )破折号排序
发布时间:2020-12-13 16:16:06 所属栏目:PHP教程 来源:网络整理
导读:我怎么能用破折号订购? 例如,我在下面有这些数据, page_id url1 - a2 - b3 --- c4 --- d5 - e6 - f7 -- g8 -- h 我追求的结果, page_id url1 - a2 - b5 - e6 - f7 -- g8 -- h3 --- c4 --- d 如果我这样做, ORDER by x.url ASC 我还是这个, page_id url1 - a
我怎么能用破折号订购?
例如,我在下面有这些数据, page_id url 1 - a 2 - b 3 --- c 4 --- d 5 - e 6 - f 7 -- g 8 -- h 我追求的结果, page_id url 1 - a 2 - b 5 - e 6 - f 7 -- g 8 -- h 3 --- c 4 --- d 如果我这样做, ORDER by x.url ASC 我还是这个, page_id url 1 - a 2 - b 3 --- c 4 --- d 5 - e 6 - f 7 -- g 8 -- h 有任何想法吗? 编辑: 我的实际SQL, SELECT *,IF(grandparentURL REGEXP '^[a-z0-9-]+$',CONCAT('--- ',url),IF(parentURL REGEXP '^[a-z0-9-]+$',CONCAT('-- ',CONCAT('- ',url))) AS url FROM ( SELECT p.page_id,p.url,p2.url AS parentURL,p3.url AS grandparentURL FROM page AS p LEFT JOIN page AS p2 ON p.parent_id = p2.page_id AND p.page_id != p2.page_id LEFT JOIN page AS p3 ON p2.parent_id = p3.page_id AND p2.page_id != p3.page_id WHERE IF('5' REGEXP '^[0-9]+$',p.page_id != '5',p.page_id IS NOT NULL) AND p.url != 'cms' ) x ORDER by x.url ASC 解决方法
执行MULTIPLE命令…首先找到空间的位置首先全部分组…然后按整个URL排序.由于common -b和-a将在同一个分组中,它们的空间将它们保持在“1”组……然后,从那里,整个URL将强制你的正确 – a,-b,-c等
ORDER BY INSTR('x.url',' '),x.url (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |