Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 4309|回复: 6

[已解决]sql实现两个字段的自定义排序

[复制链接]
发表于 2014-1-7 23:01 | 显示全部楼层 |阅读模式
本帖最后由 zhyoucheng 于 2014-1-8 20:33 编辑

sql实现两个字段的自定义排序 比如:yearf字段和 yuef字段,yearf字段按('2008','2003','2006')排序,yuef字段按('4','5','2')(用sql语句生成,能解释说明最好)
结果如下:yearf yuef
     2008  4
     2008  5
     2008  5
     2008  2
     2003  5
     2003  2
     2006  4
     2006  2

最佳答案
2014-1-8 13:09
  1. select yearf,yuef from [Sheet1$]  order by instr('2008,2003,2006',yearf),instr('4,5,2',yuef)
复制代码
 楼主| 发表于 2014-1-8 12:59 | 显示全部楼层
回复

使用道具 举报

发表于 2014-1-8 12:59 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2014-1-8 13:05 | 显示全部楼层
amiaosheng 发表于 2014-1-8 12:59
自定义列表不是蛮方便的么

我不会,我是菜鸟,请大神帮忙写一下,并做个解释,好让我学会。
回复

使用道具 举报

发表于 2014-1-8 13:09 | 显示全部楼层    本楼为最佳答案   
  1. select yearf,yuef from [Sheet1$]  order by instr('2008,2003,2006',yearf),instr('4,5,2',yuef)
复制代码
回复

使用道具 举报

 楼主| 发表于 2014-1-8 13:30 | 显示全部楼层
xdragon 发表于 2014-1-8 13:09

结果真确,劳烦解释一下排序部分让我消化一下,发个网址也行,特别感谢你的解答。
回复

使用道具 举报

发表于 2014-1-8 13:50 | 显示全部楼层
zhyoucheng 发表于 2014-1-8 13:30
结果真确,劳烦解释一下排序部分让我消化一下,发个网址也行,特别感谢你的解答。

INSTR(C1,C2,I,J) 在一个字符串中搜索指定的字符,返回发现指定的字符的位置;
C1    被搜索的字符串
C2    希望搜索的字符串
I     搜索的开始位置,默认为1
J     出现的位置,默认为1
关键就是这个函数的作用吧。I和J我这里是省略的,就是用其默认值。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-25 06:02 , Processed in 0.279557 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表