我将纯真数据库的QQwary 资料拆分,然后存进了数据库,数据库内容如下id   主键
beginIP 开始ip
endIp 结束ip
address 地址我要做一个功能  那个功能需要统计到省的地址,
也就是说  比如 广东省广州市, 广东省佛山市 它们的开始ip和结束ip都不同, 我存ip的字段是long类型,它们统计起来
确切的说就是 广东省 开始ip设为广东省中 最小的一个, 结束ip设为广东省最大的一个

解决方案 »

  1.   

    应该把地址拆分成省和市2个字段,先假设已经拆分为Province  和 Cityselect * from iptable where beginip > (select min(beginip) where province='广东省') and endip <(select max(endip) from where province ='广东省') and province = '广东省'不拆的话只能模糊查询了。。select * from iptable where beginip > (select min(beginip) where address like '广东省%') and endip <(select max(endip) from where address like '广东省%') and address like 广东省%'仅供参考,这个性能不是很好,忘大牛来优化
      

  2.   

    地址 不要用中文存放
    改用代码,维护一棵地址树,表结构如下
    代码 地址 上级地址
    0    中国 null
    10   广东 0
    1010 广州 10
    1020 佛山 10要取哪一个地址,只要遍历树到叶节点,然后关联IP的表即可