[12312,我是我,0]
我希望按照12312这个值来进行排序,请问能实现么?
回复内容: 某个字段的结果是json格式比如
[12312,我是我,0]
我希望按照12312这个值来进行排序,请问能实现么?
如果你的应用比较简单,数据量也不大,我的建议是,把需要排序的字段单拎出来,作为一个索引字段。也就是
12312 | [12312,我是我,0]
如果你觉得,你的应用场景会越来越复杂,或者需要索引的数据量非常大,那么可以考虑mongodb,直接把 数据反序列化,以每个字段的方式存进去,也就是
12312 | 我是我 | 0
使用nosql还是要谨慎。。。能用mysql搞定的,尽量用mysql
首先mysql不支持bson也不支持json,即使存储json也是序列化之后的。所以排序的话得自己实现。无论是从mysql端排序还是从脚本端排序,这都不是很好的实现方式,因为需要一个反序列化的操作。
其次你这样的存储方式是类似文档数据库的存储方式(就是nosql的一种),而mysql是关系型数据库,所以临建一张表再将数据移出去是最好的方式。或者改用文档型数据库比如mongodb。
参考 @gaosboy
如果你的数据量不大,而且只是为了简单的实现这个功能(不考虑效率)
order by cast(mid(fname, 3) as unsigned)
