按城市名称从多到少排序mysql

按城市名称从多到少排序mysql,第1张

按城市名称从多到少排序mysql可直接这样 *** 作:

1、初始化sortbuffer,确定放入name、city、age这三个字段

2、从索引city找到第一个满足city等于从多到少条件的主键id,也就是图中的IDX。

3、主键id索引取出整行,取name、city、age三个字段的值,存入sortbuffer中。

4、从索引city取下一个记录的主键id。

5、重复步骤3、4直到city的值不满足查询条件为止,对应的主键id也就是图中的IDY。

6、对sortbuffer中的数据按照字段name做快速排序。

你的意思是

如a表有个name字段存了 1-2-3-4

那么我的理解就是 你想 查询显示的结果就是

北京-上海-山东-广州 ?

想把a表name字段里的1-2-3-4替换成 我写的样子?

不得不说 你数据规划问题特别的大。并且。。。。。。这种方式多表查询会出现乘积现象。

容我先想想 怎么查

你这个算是完蛋了。要只是想看效果的话有办法 不过要多执行几次语句 逼近一次只能替换一个字符

首先 你把你的a表 复制一下 名字我们取c好了

例如 1是北京 其他 234 我随意取名字

update c set name=replace(name,'1','北京')

update c set name=replace(name,'2','上海')

update c set name=replace(name,'3','山东')

依次类推 最后 c表就会变成这个样子了。

所有字段都替换完成了

个人建议 趁着这次把表关系理理清楚。

当然 你也可以使用 select 来查看 这样不需要修改了 语句一次看完也可以

select replace(name,'1-2-3-4','北京-上海-山东-广州 ') as from c

北京-上海-山东-广州


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/8632121.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-19
下一篇2023-04-19

发表评论

登录后才能评论

评论列表(0条)

    保存