mysql不排序 in,mysql in 自定义排序的有关问题

mysql in 自定义排序的问题

写道

xuxh(许消寒) 09:55:27

SELECT a.fabric_color_id,a.fabric_id,a.fabric_color_code,a.color_value,b.match_name AS color_match_name FROM fabric_color AS a LEFT JOIN color AS b ON b.color_id=a.color_id WHERE (a.fabric_color_id IN ('6','5','4'))

zhangxs(张雪松) 10:01:12

SELECT a.fabric_color_id,a.fabric_id,a.fabric_color_code,a.color_value,b.match_name AS color_match_name

FROM fabric_color AS a LEFT JOIN color AS b ON b.color_id=a.color_id

WHERE (a.fabric_color_id IN ('6','5','4'))

order by substring_index('6,5,4', fabric_color_id, 1);

select id, substring_index('''33'', ''3'',''6'',''4'', ''64''', concat('''', id, ''''), 1) from dr_original_product where id in (33, 3, 6, 4, 64)

order by substring_index('''33'', ''3'',''6'',''4'', ''64''', concat('''', id, ''''), 1)

zhangxs(张雪松) 10:25:52

按in中的顺序排序

还有就是使用 field方法来排序

mysql 可以使用FIELD()进行自定义排序

SELECT name, email, ... WHERE uid IN ([uid's from first sql]) order by field(uid,[uid's from first sql])

zhangxs(张雪松) 2012-11-01 10:50:15

MySQL可以通过field()函数自定义排序,格式:field(value,str1,str2,str3,str4),value与str1、str2、str3、str4比较,返回1、2、3、4,如遇到null或者不在列表中的数据则返回0.

xuxh(许消寒) 2012-11-01 10:50:47

哪个效率高呢

zhangxs(张雪松) 2012-11-01 10:51:59

个人认为前面的会高一些. 因为只需要处理字符串, 后面的那个需要多个变量.

xuxh(许消寒) 2012-11-01 10:52:27

substring_index > field 么?

zhangxs(张雪松) 2012-11-01 10:52:49

另外两者有一个重要的区别, 但是值在排序中不存在间, 前者会出现在后面. 后者会出现在前面

zhangxs(张雪松) 2012-11-01 11:02:31

应该是field的效率高

zhangxs(张雪松) 2012-11-01 11:02:42

这个的排序更简单一些/

xuxh(许消寒) 2012-11-01 11:03:06

学习到了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值