日期:2014-05-17  浏览次数:20430 次

遇到查询最大数的问题
数据表字段2个

name num


name 字段存比如 aa bb cc 等等名字

num字段存 a:4:{i:2009;s:1:"0";i:2010;s:1:"0";i:2011;s:1:"0";i:2012;s:1:"1";}

这种序列字段
反序列化后是
array(
 '2009'=>0,
 '2010'=>0,
 '2011'=>0,
 '2012'=>1
)
和值是1

然后操作是要查询出 num 的和值最大的前10条记录,

如何去做?

------解决方案--------------------
如果是 mysql 数据库,那只能全部取出后,用程序排序
但若在入库时就已经求过和了,倒是可以用 mysql 的函数析出

如果是 sqlite 数据库,可以向其注册一个 php 函数来做
------解决方案--------------------
存json就是个悲剧。用php挨个搞吧
------解决方案--------------------
程序端判断试试。
------解决方案--------------------
全部取出进行判断