我的表向有这些字段:
id int(6) not null,
position bigint(12) not null,
name....position记录一些位置信息,这个位置范围大约是从0到100,000,000,甚至更大,现在要统计记录的分布,比如要查找30,000到500,000之间,以500为单位,统计每个单位的记录数这样的查询要怎么写呢?如果查询语句做不了,有什么好的方法吗?

解决方案 »

  1.   

    position就是X轴的位置,因为很长,可以达到几百万,也就是数据分布在0到几百万的范围内.现在要统计数据的分布频率,比如统计从1000到十万之间的分布频率,如果以500为单位(这个是可以随意设的),就是按500分段,统计每一段有多少条记录,比如1000-1500之间有几条记录,1500-2000有多少条记录,一直到十万.
      

  2.   

    恩,这个问题自己解决了,
    mysql> select count(*) from test where position between 1000 and 1000
    000 group by floor(position/500);
    看来分要给我自己了