怎么能让前n位相同的数据只取前三个 怎么能让前n位相同的数据只取前三个 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 贴建表及插入记录的SQL,及要求结果出来看看 mysql 前几位相同为一组 分组查询 每组只取三位 ipstart ipend ip_area1031863420 1031863551 重庆信息工程专修学院校园网1031863410 1031863417 重庆信息工程专修学院校园网1031863408 1031863408 重庆信息工程专修学院校园网1038866306 1038866306 重庆信息工程专修学院校园网3546471078 3546471078 重庆信息工程专修学院校园网1031863397 1031863397 重庆信息工程专修学院生活区影剧院2楼网吧1031863403 1031863403 重庆信息工程专修学院生活区影剧1楼网吧1031863406 1031863406 重庆信息工程专修学院生活区威威网吧1031863401 1031863401 重庆信息工程专修学院生活区电子阅览室1031863418 1031863418 重庆信息工程专修学院生活区电子阅览室1031863398 1031863398 重庆信息工程专修学院教学区体育馆网吧1031863407 1031863407 重庆信息工程专修学院教学区计算机中心机房1031863419 1031863419 重庆信息工程专修学院教学区电子阅览室1031863409 1031863409 重庆信息工程专修学院教学区博力网吧1031863400 1031863400 重庆信息工程专修学院教学区30幢楼下网吧3736209596 3736209596 重庆市自由点网吧1035656629 1035656629 重庆市紫逸网城1035641121 1035641121 重庆市珠江集团(杨家坪直港大道)3684253192 3684253199 重庆市重邮信科公司1033978626 1033978626 重庆市重庆邮电大学移通学院(第二教学部)3402244096 3402248191 重庆市重庆邮电大学3545485312 3545489407 重庆市重庆邮电大学3670614276 3670614280 重庆市重庆移动陈家坪IDC中心1031840155 1031840155 重庆市重庆医科大学基础医学院1031840128 1031840154 重庆市重庆医科大学1031840156 1031840159 重庆市重庆医科大学3402268672 3402272767 重庆市重庆医科大学3658824209 3658824211 重庆市重庆信息技术职业学院金龙校区3736298504 3736298512 重庆市重庆信息工程专修学院3736293558 3736293558 重庆市重庆信息工程专修学院3736354641 3736354815 重庆市重庆信息工程专修学院1033979740 1033979741 重庆市重庆信息工程专修学院1033979723 1033979723 重庆市重庆信息工程专修学院1033980134 1033980134 重庆市重庆信息工程专修学院3708245173 3708245173 重庆市重庆物流学校3662064514 3662064514 重庆市重庆文理学院3670192128 3670196223 重庆市重庆文理学院3737559040 3737563135 重庆市重庆文理学院3546035424 3546035425 重庆市重庆文理学院3736200498 3736200498 重庆市重庆通信学院1035647485 1035647485 重庆市重庆数字证书认证中心3662073688 3662073688 重庆市重庆市劳动和社会保障局3550354182 3550354182 重庆市重庆师范学院计算机中心2033255424 2033255679 重庆市重庆师范大学涉外商贸学院2019459072 2019460095 重庆市重庆师范大学和风苑B栋3736386673 3736386684 重庆市重庆师范大学(大学城校区)3737518080 3737522175 重庆市重庆师范大学3550350092 3550350094 重庆市重庆师范大学3550179954 3550179954 重庆市重庆师范大学3688693760 3688697855 重庆市重庆师范大学 SELECT * FROM 表名 WHERE (SELECT COUNT(1) FROM 表名 重定义表名 WHERE 表名.要相同的字段=重定义表名.要相同的字段 AND 表名.id>重定义表名.id)<3 如果是只取一个 可能会快一些select substring(ip_area,1,N),ipstart,ipendfrom tbgropp by substring(ip_area,1,N) 读取一个?我是要分地点读取的。SELECT startip, endip FROM IP WHERE COUNTRY LIKE '广东%'; 贴建表及插入记录的SQL,及要求结果出来看看 create tableCREATE TABLE `ip` ( `startip` varchar(16) default NULL, `endip` varchar(16) default NULL, `country` varchar(100) default NULL, `local` varchar(20) default NULL, `startid` bigint(24) default NULL, `endid` bigint(24) default NULL, KEY `endid` (`endid`), KEY `startid` (`startid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 startip endip country local startid endid3.0.0.0 3.255.255.255 美国 新泽西通用电气公司 \N 50331648 671088644.0.0.0 4.10.255.255 美国 9xz.net \N 67108864 678297604.11.0.0 4.11.255.255 美国 夏威夷 \N 67829760 678952964.12.0.0 4.19.77.255 美国 9xz.net \N 67895296 683740164.19.78.0 4.19.78.255 美国 西南政法大学 \N 68374016 683742724.19.79.0 4.19.79.63 美国 Armed Forces Radio/Television \N 68374272 683743364.19.79.64 4.21.177.111 美国 9xz.net \N 68374336 685305444.21.177.112 4.21.177.127 美国 Kraft Group \N 68530544 685305604.21.177.128 4.21.177.255 美国 南新汉普郡学院 \N 68530560 685306884.21.178.0 4.36.124.127 美国 9xz.net \N 68530688 695000324.36.124.128 4.36.124.255 美国 Technical Resource Connections Inc 69500032 695001604.36.125.0 4.36.127.255 美国 坦帕大学 \N 69500160 695009284.36.128.0 4.37.215.255 美国 9xz.net \N 69500928 695889924.37.216.0 4.37.219.255 美国 德克萨斯女子大学 \N 69588992 695900164.37.220.0 4.41.60.255 美国 9xz.net \N 69590016 698114564.41.61.0 4.41.61.255 美国 EARTHLINK公司 \N 69811456 698117124.41.62.0 4.43.68.255 美国 9xz.net \N 69811712 699445764.43.69.0 4.43.69.95 美国 罗斯门特学院 \N 69944576 699446724.43.69.96 4.208.48.255 美国 Genuity用户 \N 69944672 807528964.208.49.0 4.208.49.255 美国 加洲 \N 80752896 807531524.208.50.0 4.237.255.255 美国 Genuity用户 \N 80753152 827064324.238.0.0 4.239.255.255 美国 宾夕法尼亚州 \N 82706432 828375044.240.0.0 4.255.255.255 美国 Genuity用户 \N 82837504 838860805.0.0.0 5.255.255.255 IANA 9xz.net \N 83886080 1006632966.0.0.0 8.255.255.255 美国 DoD网络信息中心 \N 100663296 1509949449.0.0.0 9.255.255.255 美国 纽约IBM公司 \N 150994944 16777216010.0.0.0 10.255.255.255 局域网 对方和您在同一内部网 \N 167772160 18454937611.0.0.0 11.255.255.255 美国 DoD网络信息中心 \N 184549376 20132659212.0.0.0 12.0.47.255 美国 ATT用户 \N 201326592 20133888012.0.48.0 12.0.63.255 美国 哈佛大学 \N 201338880 20134297612.0.64.0 12.2.168.255 美国 ATT用户 \N 201342976 20150092812.2.169.0 12.2.169.255 美国 Leepfrog Technologies \N 201500928 20150118412.2.170.0 12.3.133.255 美国 ATT用户 \N 201501184 20155750412.3.134.0 12.3.135.255 美国 Lycoming College \N 201557504 20155801612.3.136.0 12.5.176.239 美国 ATT用户 \N 201558016 20169956812.5.176.240 12.5.176.255 美国 Friends University \N 201699568 20169958412.5.177.0 12.6.207.255 美国 ATT用户 \N 201699584 20177305612.6.208.0 12.6.223.255 美国 哈佛大学 \N 201773056 20177715212.6.224.0 12.6.229.255 美国 ATT用户 \N 201777152 20177868812.6.230.0 12.6.231.255 美国 Marlboro College \N 201778688 20177920012.6.232.0 12.11.138.255 美国 ATT用户 \N 201779200 20208307212.11.139.0 12.11.139.255 美国 南佛蒙特学院 \N 202083072 20208332812.11.140.0 12.13.176.127 美国 ATT用户 \N 202083328 20222374412.13.176.128 12.13.176.255 美国 Spelman College \N 202223744 20222387212.13.177.0 12.16.215.255 美国 ATT用户 \N 202223872 20243046412.16.216.0 12.16.219.255 美国 太平洋联合学院 \N 202430464 20243148812.16.220.0 12.19.229.255 美国 ATT用户 \N 202431488 20263065612.19.230.0 12.19.230.255 美国 Houghton College \N 202630656 20263091212.19.231.0 12.22.84.255 美国 ATT用户 \N 202630912 20279014412.22.85.0 12.22.85.255 美国 新泽西 \N 202790144 202790400 参考下贴中的多种方法http://topic.csdn.net/u/20091231/16/2f268740-391e-40f2-a15e-f243b2c925ab.html[征集]分组取最大N条记录方法征集,及散分.... 建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。 参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html 1. 你的 create table xxx .. 语句 2. 你的 insert into xxx ... 语句 3. 结果是什么样,(并给以简单的算法描述) 4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL) 这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。 好的,我用的是mysql,建表语句我已经贴了~~ INSERT INTO `ip` VALUES ('3.0.0.0', '3.255.255.255', '美国 新泽西通用电气公司', null, '50331648', '67108864');INSERT INTO `ip` VALUES ('4.0.0.0', '4.10.255.255', '美国 9xz.net', null, '67108864', '67829760');INSERT INTO `ip` VALUES ('4.11.0.0', '4.11.255.255', '美国 夏威夷', null, '67829760', '67895296');INSERT INTO `ip` VALUES ('4.12.0.0', '4.19.77.255', '美国 9xz.net', null, '67895296', '68374016');INSERT INTO `ip` VALUES ('4.19.78.0', '4.19.78.255', '美国 西南政法大学', null, '68374016', '68374272');INSERT INTO `ip` VALUES ('4.19.79.0', '4.19.79.63', '美国 Armed Forces Radio/Television', null, '68374272', '68374336');INSERT INTO `ip` VALUES ('4.19.79.64', '4.21.177.111', '美国 9xz.net', null, '68374336', '68530544');INSERT INTO `ip` VALUES ('4.21.177.112', '4.21.177.127', '美国 Kraft Group', null, '68530544', '68530560');INSERT INTO `ip` VALUES ('4.21.177.128', '4.21.177.255', '美国 南新汉普郡学院', null, '68530560', '68530688');INSERT INTO `ip` VALUES ('4.21.178.0', '4.36.124.127', '美国 9xz.net', null, '68530688', '69500032');INSERT INTO `ip` VALUES ('4.36.124.128', '4.36.124.255', '美国 Technical Resource Connections', 'Inc', '69500032', '69500160');INSERT INTO `ip` VALUES ('4.36.125.0', '4.36.127.255', '美国 坦帕大学', null, '69500160', '69500928');INSERT INTO `ip` VALUES ('4.36.128.0', '4.37.215.255', '美国 9xz.net', null, '69500928', '69588992');INSERT INTO `ip` VALUES ('4.37.216.0', '4.37.219.255', '美国 德克萨斯女子大学', null, '69588992', '69590016');INSERT INTO `ip` VALUES ('4.37.220.0', '4.41.60.255', '美国 9xz.net', null, '69590016', '69811456');INSERT INTO `ip` VALUES ('4.41.61.0', '4.41.61.255', '美国 EARTHLINK公司', null, '69811456', '69811712');INSERT INTO `ip` VALUES ('4.41.62.0', '4.43.68.255', '美国 9xz.net', null, '69811712', '69944576');INSERT INTO `ip` VALUES ('4.43.69.0', '4.43.69.95', '美国 罗斯门特学院', null, '69944576', '69944672');INSERT INTO `ip` VALUES ('4.43.69.96', '4.208.48.255', '美国 Genuity用户', null, '69944672', '80752896');INSERT INTO `ip` VALUES ('4.208.49.0', '4.208.49.255', '美国 加洲', null, '80752896', '80753152');INSERT INTO `ip` VALUES ('4.208.50.0', '4.237.255.255', '美国 Genuity用户', null, '80753152', '82706432');INSERT INTO `ip` VALUES ('4.238.0.0', '4.239.255.255', '美国 宾夕法尼亚州', null, '82706432', '82837504'); 希望的结果就是前三位相同的ip ,比如255.225.255.255和255.255.255.254等等,只取三个就可以了.j就是ip量有很大,前三位相同的有很多 基于这个测试数据 你期望的正确结果什么样?以哪个IP为准? 建议一次性把问题描述清楚。mysql> select * from ip;+--------------+---------------+-------------------------------------+-------+----------+----------+| startip | endip | country | local | startid | endid |+--------------+---------------+-------------------------------------+-------+----------+----------+| 3.0.0.0 | 3.255.255.255 | 美国 新泽西通用电气公司 | NULL | 50331648 | 67108864 || 4.0.0.0 | 4.10.255.255 | 美国 9xz.net | NULL | 67108864 | 67829760 || 4.11.0.0 | 4.11.255.255 | 美国 夏威夷 | NULL | 67829760 | 67895296 || 4.12.0.0 | 4.19.77.255 | 美国 9xz.net | NULL | 67895296 | 68374016 || 4.19.78.0 | 4.19.78.255 | 美国 西南政法大学 | NULL | 68374016 | 68374272 || 4.19.79.0 | 4.19.79.63 | 美国 Armed Forces Radio/Television | NULL | 68374272 | 68374336 || 4.19.79.64 | 4.21.177.111 | 美国 9xz.net | NULL | 68374336 | 68530544 || 4.21.177.112 | 4.21.177.127 | 美国 Kraft Group | NULL | 68530544 | 68530560 || 4.21.177.128 | 4.21.177.255 | 美国 南新汉普郡学院 | NULL | 68530560 | 68530688 || 4.21.178.0 | 4.36.124.127 | 美国 9xz.net | NULL | 68530688 | 69500032 || 4.36.124.128 | 4.36.124.255 | 美国 Technical Resource Connections | Inc | 69500032 | 69500160 || 4.36.125.0 | 4.36.127.255 | 美国 坦帕大学 | NULL | 69500160 | 69500928 || 4.36.128.0 | 4.37.215.255 | 美国 9xz.net | NULL | 69500928 | 69588992 || 4.37.216.0 | 4.37.219.255 | 美国 德克萨斯女子大学 | NULL | 69588992 | 69590016 || 4.37.220.0 | 4.41.60.255 | 美国 9xz.net | NULL | 69590016 | 69811456 || 4.41.61.0 | 4.41.61.255 | 美国 EARTHLINK公司 | NULL | 69811456 | 69811712 || 4.41.62.0 | 4.43.68.255 | 美国 9xz.net | NULL | 69811712 | 69944576 || 4.43.69.0 | 4.43.69.95 | 美国 罗斯门特学院 | NULL | 69944576 | 69944672 || 4.43.69.96 | 4.208.48.255 | 美国 Genuity用户 | NULL | 69944672 | 80752896 || 4.208.49.0 | 4.208.49.255 | 美国 加洲 | NULL | 80752896 | 80753152 || 4.208.50.0 | 4.237.255.255 | 美国 Genuity用户 | NULL | 80753152 | 82706432 || 4.238.0.0 | 4.239.255.255 | 美国 宾夕法尼亚州 | NULL | 82706432 | 82837504 |+--------------+---------------+-------------------------------------+-------+----------+----------+22 rows in set (0.00 sec)mysql> 希望以下是你要的结果,否则真是浪费时间。mysql> select * -> from ip i -> where 3>(select count(*) from ip where substring_index(endip,'.',3)=substring_index(i.endip,'.',3) and startid<i.startid);+--------------+---------------+-------------------------------------+-------+----------+----------+| startip | endip | country | local | startid | endid |+--------------+---------------+-------------------------------------+-------+----------+----------+| 3.0.0.0 | 3.255.255.255 | 美国 新泽西通用电气公司 | NULL | 50331648 | 67108864 || 4.0.0.0 | 4.10.255.255 | 美国 9xz.net | NULL | 67108864 | 67829760 || 4.11.0.0 | 4.11.255.255 | 美国 夏威夷 | NULL | 67829760 | 67895296 || 4.12.0.0 | 4.19.77.255 | 美国 9xz.net | NULL | 67895296 | 68374016 || 4.19.78.0 | 4.19.78.255 | 美国 西南政法大学 | NULL | 68374016 | 68374272 || 4.19.79.0 | 4.19.79.63 | 美国 Armed Forces Radio/Television | NULL | 68374272 | 68374336 || 4.19.79.64 | 4.21.177.111 | 美国 9xz.net | NULL | 68374336 | 68530544 || 4.21.177.112 | 4.21.177.127 | 美国 Kraft Group | NULL | 68530544 | 68530560 || 4.21.177.128 | 4.21.177.255 | 美国 南新汉普郡学院 | NULL | 68530560 | 68530688 || 4.21.178.0 | 4.36.124.127 | 美国 9xz.net | NULL | 68530688 | 69500032 || 4.36.124.128 | 4.36.124.255 | 美国 Technical Resource Connections | Inc | 69500032 | 69500160 || 4.36.125.0 | 4.36.127.255 | 美国 坦帕大学 | NULL | 69500160 | 69500928 || 4.36.128.0 | 4.37.215.255 | 美国 9xz.net | NULL | 69500928 | 69588992 || 4.37.216.0 | 4.37.219.255 | 美国 德克萨斯女子大学 | NULL | 69588992 | 69590016 || 4.37.220.0 | 4.41.60.255 | 美国 9xz.net | NULL | 69590016 | 69811456 || 4.41.61.0 | 4.41.61.255 | 美国 EARTHLINK公司 | NULL | 69811456 | 69811712 || 4.41.62.0 | 4.43.68.255 | 美国 9xz.net | NULL | 69811712 | 69944576 || 4.43.69.0 | 4.43.69.95 | 美国 罗斯门特学院 | NULL | 69944576 | 69944672 || 4.43.69.96 | 4.208.48.255 | 美国 Genuity用户 | NULL | 69944672 | 80752896 || 4.208.49.0 | 4.208.49.255 | 美国 加洲 | NULL | 80752896 | 80753152 || 4.208.50.0 | 4.237.255.255 | 美国 Genuity用户 | NULL | 80753152 | 82706432 || 4.238.0.0 | 4.239.255.255 | 美国 宾夕法尼亚州 | NULL | 82706432 | 82837504 |+--------------+---------------+-------------------------------------+-------+----------+----------+22 rows in set (0.01 sec)mysql> SELECT SUBSTRING(StartIPText,1,9),StartIPText ,EndIPText FROM iptable WHERE Country LIKE '%广州%' AND LOCAL= '电信'GROUP BY SUBSTRING(StartIPText,1,9) HAVING COUNT(*)>1; 用MYSQL Connector连接数据库时候出现字符集错误 怎么用ASP连接MYSQL数据库?? 为什么SELECT 0 = 'x6'结果为true? mysql是否支持事务和锁? MySQL数据表中记录为何不能自动排序??? 新手关于 mysql安装时遇到的问题 MySQL数据库能容纳多少条记录,有没有ACCESS多?是否有MySQL的ADO驱动下载? 哪里有MYSQL下载? 如何在WIN2000下运行MySQL? tomcat+mysql+jdbc为什么会出现这个问题? 如何限制Mysql中GROUP BY中每个分组的记录数 mysql的substring
1031863420 1031863551 重庆信息工程专修学院校园网
1031863410 1031863417 重庆信息工程专修学院校园网
1031863408 1031863408 重庆信息工程专修学院校园网
1038866306 1038866306 重庆信息工程专修学院校园网
3546471078 3546471078 重庆信息工程专修学院校园网
1031863397 1031863397 重庆信息工程专修学院生活区影剧院2楼网吧
1031863403 1031863403 重庆信息工程专修学院生活区影剧1楼网吧
1031863406 1031863406 重庆信息工程专修学院生活区威威网吧
1031863401 1031863401 重庆信息工程专修学院生活区电子阅览室
1031863418 1031863418 重庆信息工程专修学院生活区电子阅览室
1031863398 1031863398 重庆信息工程专修学院教学区体育馆网吧
1031863407 1031863407 重庆信息工程专修学院教学区计算机中心机房
1031863419 1031863419 重庆信息工程专修学院教学区电子阅览室
1031863409 1031863409 重庆信息工程专修学院教学区博力网吧
1031863400 1031863400 重庆信息工程专修学院教学区30幢楼下网吧
3736209596 3736209596 重庆市自由点网吧
1035656629 1035656629 重庆市紫逸网城
1035641121 1035641121 重庆市珠江集团(杨家坪直港大道)
3684253192 3684253199 重庆市重邮信科公司
1033978626 1033978626 重庆市重庆邮电大学移通学院(第二教学部)
3402244096 3402248191 重庆市重庆邮电大学
3545485312 3545489407 重庆市重庆邮电大学
3670614276 3670614280 重庆市重庆移动陈家坪IDC中心
1031840155 1031840155 重庆市重庆医科大学基础医学院
1031840128 1031840154 重庆市重庆医科大学
1031840156 1031840159 重庆市重庆医科大学
3402268672 3402272767 重庆市重庆医科大学
3658824209 3658824211 重庆市重庆信息技术职业学院金龙校区
3736298504 3736298512 重庆市重庆信息工程专修学院
3736293558 3736293558 重庆市重庆信息工程专修学院
3736354641 3736354815 重庆市重庆信息工程专修学院
1033979740 1033979741 重庆市重庆信息工程专修学院
1033979723 1033979723 重庆市重庆信息工程专修学院
1033980134 1033980134 重庆市重庆信息工程专修学院
3708245173 3708245173 重庆市重庆物流学校
3662064514 3662064514 重庆市重庆文理学院
3670192128 3670196223 重庆市重庆文理学院
3737559040 3737563135 重庆市重庆文理学院
3546035424 3546035425 重庆市重庆文理学院
3736200498 3736200498 重庆市重庆通信学院
1035647485 1035647485 重庆市重庆数字证书认证中心
3662073688 3662073688 重庆市重庆市劳动和社会保障局
3550354182 3550354182 重庆市重庆师范学院计算机中心
2033255424 2033255679 重庆市重庆师范大学涉外商贸学院
2019459072 2019460095 重庆市重庆师范大学和风苑B栋
3736386673 3736386684 重庆市重庆师范大学(大学城校区)
3737518080 3737522175 重庆市重庆师范大学
3550350092 3550350094 重庆市重庆师范大学
3550179954 3550179954 重庆市重庆师范大学
3688693760 3688697855 重庆市重庆师范大学
from tb
gropp by substring(ip_area,1,N)
SELECT startip, endip FROM IP WHERE COUNTRY LIKE '广东%';
create table
CREATE TABLE `ip` (
`startip` varchar(16) default NULL,
`endip` varchar(16) default NULL,
`country` varchar(100) default NULL,
`local` varchar(20) default NULL,
`startid` bigint(24) default NULL,
`endid` bigint(24) default NULL,
KEY `endid` (`endid`),
KEY `startid` (`startid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
3.0.0.0 3.255.255.255 美国 新泽西通用电气公司 \N 50331648 67108864
4.0.0.0 4.10.255.255 美国 9xz.net \N 67108864 67829760
4.11.0.0 4.11.255.255 美国 夏威夷 \N 67829760 67895296
4.12.0.0 4.19.77.255 美国 9xz.net \N 67895296 68374016
4.19.78.0 4.19.78.255 美国 西南政法大学 \N 68374016 68374272
4.19.79.0 4.19.79.63 美国 Armed Forces Radio/Television \N 68374272 68374336
4.19.79.64 4.21.177.111 美国 9xz.net \N 68374336 68530544
4.21.177.112 4.21.177.127 美国 Kraft Group \N 68530544 68530560
4.21.177.128 4.21.177.255 美国 南新汉普郡学院 \N 68530560 68530688
4.21.178.0 4.36.124.127 美国 9xz.net \N 68530688 69500032
4.36.124.128 4.36.124.255 美国 Technical Resource Connections Inc 69500032 69500160
4.36.125.0 4.36.127.255 美国 坦帕大学 \N 69500160 69500928
4.36.128.0 4.37.215.255 美国 9xz.net \N 69500928 69588992
4.37.216.0 4.37.219.255 美国 德克萨斯女子大学 \N 69588992 69590016
4.37.220.0 4.41.60.255 美国 9xz.net \N 69590016 69811456
4.41.61.0 4.41.61.255 美国 EARTHLINK公司 \N 69811456 69811712
4.41.62.0 4.43.68.255 美国 9xz.net \N 69811712 69944576
4.43.69.0 4.43.69.95 美国 罗斯门特学院 \N 69944576 69944672
4.43.69.96 4.208.48.255 美国 Genuity用户 \N 69944672 80752896
4.208.49.0 4.208.49.255 美国 加洲 \N 80752896 80753152
4.208.50.0 4.237.255.255 美国 Genuity用户 \N 80753152 82706432
4.238.0.0 4.239.255.255 美国 宾夕法尼亚州 \N 82706432 82837504
4.240.0.0 4.255.255.255 美国 Genuity用户 \N 82837504 83886080
5.0.0.0 5.255.255.255 IANA 9xz.net \N 83886080 100663296
6.0.0.0 8.255.255.255 美国 DoD网络信息中心 \N 100663296 150994944
9.0.0.0 9.255.255.255 美国 纽约IBM公司 \N 150994944 167772160
10.0.0.0 10.255.255.255 局域网 对方和您在同一内部网 \N 167772160 184549376
11.0.0.0 11.255.255.255 美国 DoD网络信息中心 \N 184549376 201326592
12.0.0.0 12.0.47.255 美国 ATT用户 \N 201326592 201338880
12.0.48.0 12.0.63.255 美国 哈佛大学 \N 201338880 201342976
12.0.64.0 12.2.168.255 美国 ATT用户 \N 201342976 201500928
12.2.169.0 12.2.169.255 美国 Leepfrog Technologies \N 201500928 201501184
12.2.170.0 12.3.133.255 美国 ATT用户 \N 201501184 201557504
12.3.134.0 12.3.135.255 美国 Lycoming College \N 201557504 201558016
12.3.136.0 12.5.176.239 美国 ATT用户 \N 201558016 201699568
12.5.176.240 12.5.176.255 美国 Friends University \N 201699568 201699584
12.5.177.0 12.6.207.255 美国 ATT用户 \N 201699584 201773056
12.6.208.0 12.6.223.255 美国 哈佛大学 \N 201773056 201777152
12.6.224.0 12.6.229.255 美国 ATT用户 \N 201777152 201778688
12.6.230.0 12.6.231.255 美国 Marlboro College \N 201778688 201779200
12.6.232.0 12.11.138.255 美国 ATT用户 \N 201779200 202083072
12.11.139.0 12.11.139.255 美国 南佛蒙特学院 \N 202083072 202083328
12.11.140.0 12.13.176.127 美国 ATT用户 \N 202083328 202223744
12.13.176.128 12.13.176.255 美国 Spelman College \N 202223744 202223872
12.13.177.0 12.16.215.255 美国 ATT用户 \N 202223872 202430464
12.16.216.0 12.16.219.255 美国 太平洋联合学院 \N 202430464 202431488
12.16.220.0 12.19.229.255 美国 ATT用户 \N 202431488 202630656
12.19.230.0 12.19.230.255 美国 Houghton College \N 202630656 202630912
12.19.231.0 12.22.84.255 美国 ATT用户 \N 202630912 202790144
12.22.85.0 12.22.85.255 美国 新泽西 \N 202790144 202790400
[征集]分组取最大N条记录方法征集,及散分....
建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
1. 你的 create table xxx .. 语句
2. 你的 insert into xxx ... 语句
3. 结果是什么样,(并给以简单的算法描述)
4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。
INSERT INTO `ip` VALUES ('4.0.0.0', '4.10.255.255', '美国 9xz.net', null, '67108864', '67829760');
INSERT INTO `ip` VALUES ('4.11.0.0', '4.11.255.255', '美国 夏威夷', null, '67829760', '67895296');
INSERT INTO `ip` VALUES ('4.12.0.0', '4.19.77.255', '美国 9xz.net', null, '67895296', '68374016');
INSERT INTO `ip` VALUES ('4.19.78.0', '4.19.78.255', '美国 西南政法大学', null, '68374016', '68374272');
INSERT INTO `ip` VALUES ('4.19.79.0', '4.19.79.63', '美国 Armed Forces Radio/Television', null, '68374272', '68374336');
INSERT INTO `ip` VALUES ('4.19.79.64', '4.21.177.111', '美国 9xz.net', null, '68374336', '68530544');
INSERT INTO `ip` VALUES ('4.21.177.112', '4.21.177.127', '美国 Kraft Group', null, '68530544', '68530560');
INSERT INTO `ip` VALUES ('4.21.177.128', '4.21.177.255', '美国 南新汉普郡学院', null, '68530560', '68530688');
INSERT INTO `ip` VALUES ('4.21.178.0', '4.36.124.127', '美国 9xz.net', null, '68530688', '69500032');
INSERT INTO `ip` VALUES ('4.36.124.128', '4.36.124.255', '美国 Technical Resource Connections', 'Inc', '69500032', '69500160');
INSERT INTO `ip` VALUES ('4.36.125.0', '4.36.127.255', '美国 坦帕大学', null, '69500160', '69500928');
INSERT INTO `ip` VALUES ('4.36.128.0', '4.37.215.255', '美国 9xz.net', null, '69500928', '69588992');
INSERT INTO `ip` VALUES ('4.37.216.0', '4.37.219.255', '美国 德克萨斯女子大学', null, '69588992', '69590016');
INSERT INTO `ip` VALUES ('4.37.220.0', '4.41.60.255', '美国 9xz.net', null, '69590016', '69811456');
INSERT INTO `ip` VALUES ('4.41.61.0', '4.41.61.255', '美国 EARTHLINK公司', null, '69811456', '69811712');
INSERT INTO `ip` VALUES ('4.41.62.0', '4.43.68.255', '美国 9xz.net', null, '69811712', '69944576');
INSERT INTO `ip` VALUES ('4.43.69.0', '4.43.69.95', '美国 罗斯门特学院', null, '69944576', '69944672');
INSERT INTO `ip` VALUES ('4.43.69.96', '4.208.48.255', '美国 Genuity用户', null, '69944672', '80752896');
INSERT INTO `ip` VALUES ('4.208.49.0', '4.208.49.255', '美国 加洲', null, '80752896', '80753152');
INSERT INTO `ip` VALUES ('4.208.50.0', '4.237.255.255', '美国 Genuity用户', null, '80753152', '82706432');
INSERT INTO `ip` VALUES ('4.238.0.0', '4.239.255.255', '美国 宾夕法尼亚州', null, '82706432', '82837504');
mysql> select * from ip;
+--------------+---------------+-------------------------------------+-------+----------+----------+
| startip | endip | country | local | startid | endid |
+--------------+---------------+-------------------------------------+-------+----------+----------+
| 3.0.0.0 | 3.255.255.255 | 美国 新泽西通用电气公司 | NULL | 50331648 | 67108864 |
| 4.0.0.0 | 4.10.255.255 | 美国 9xz.net | NULL | 67108864 | 67829760 |
| 4.11.0.0 | 4.11.255.255 | 美国 夏威夷 | NULL | 67829760 | 67895296 |
| 4.12.0.0 | 4.19.77.255 | 美国 9xz.net | NULL | 67895296 | 68374016 |
| 4.19.78.0 | 4.19.78.255 | 美国 西南政法大学 | NULL | 68374016 | 68374272 |
| 4.19.79.0 | 4.19.79.63 | 美国 Armed Forces Radio/Television | NULL | 68374272 | 68374336 |
| 4.19.79.64 | 4.21.177.111 | 美国 9xz.net | NULL | 68374336 | 68530544 |
| 4.21.177.112 | 4.21.177.127 | 美国 Kraft Group | NULL | 68530544 | 68530560 |
| 4.21.177.128 | 4.21.177.255 | 美国 南新汉普郡学院 | NULL | 68530560 | 68530688 |
| 4.21.178.0 | 4.36.124.127 | 美国 9xz.net | NULL | 68530688 | 69500032 |
| 4.36.124.128 | 4.36.124.255 | 美国 Technical Resource Connections | Inc | 69500032 | 69500160 |
| 4.36.125.0 | 4.36.127.255 | 美国 坦帕大学 | NULL | 69500160 | 69500928 |
| 4.36.128.0 | 4.37.215.255 | 美国 9xz.net | NULL | 69500928 | 69588992 |
| 4.37.216.0 | 4.37.219.255 | 美国 德克萨斯女子大学 | NULL | 69588992 | 69590016 |
| 4.37.220.0 | 4.41.60.255 | 美国 9xz.net | NULL | 69590016 | 69811456 |
| 4.41.61.0 | 4.41.61.255 | 美国 EARTHLINK公司 | NULL | 69811456 | 69811712 |
| 4.41.62.0 | 4.43.68.255 | 美国 9xz.net | NULL | 69811712 | 69944576 |
| 4.43.69.0 | 4.43.69.95 | 美国 罗斯门特学院 | NULL | 69944576 | 69944672 |
| 4.43.69.96 | 4.208.48.255 | 美国 Genuity用户 | NULL | 69944672 | 80752896 |
| 4.208.49.0 | 4.208.49.255 | 美国 加洲 | NULL | 80752896 | 80753152 |
| 4.208.50.0 | 4.237.255.255 | 美国 Genuity用户 | NULL | 80753152 | 82706432 |
| 4.238.0.0 | 4.239.255.255 | 美国 宾夕法尼亚州 | NULL | 82706432 | 82837504 |
+--------------+---------------+-------------------------------------+-------+----------+----------+
22 rows in set (0.00 sec)mysql>
mysql> select *
-> from ip i
-> where 3>(select count(*) from ip where substring_index(endip,'.',3)=substring_index(i.endip,'.',3) and startid<i.startid);
+--------------+---------------+-------------------------------------+-------+----------+----------+
| startip | endip | country | local | startid | endid |
+--------------+---------------+-------------------------------------+-------+----------+----------+
| 3.0.0.0 | 3.255.255.255 | 美国 新泽西通用电气公司 | NULL | 50331648 | 67108864 |
| 4.0.0.0 | 4.10.255.255 | 美国 9xz.net | NULL | 67108864 | 67829760 |
| 4.11.0.0 | 4.11.255.255 | 美国 夏威夷 | NULL | 67829760 | 67895296 |
| 4.12.0.0 | 4.19.77.255 | 美国 9xz.net | NULL | 67895296 | 68374016 |
| 4.19.78.0 | 4.19.78.255 | 美国 西南政法大学 | NULL | 68374016 | 68374272 |
| 4.19.79.0 | 4.19.79.63 | 美国 Armed Forces Radio/Television | NULL | 68374272 | 68374336 |
| 4.19.79.64 | 4.21.177.111 | 美国 9xz.net | NULL | 68374336 | 68530544 |
| 4.21.177.112 | 4.21.177.127 | 美国 Kraft Group | NULL | 68530544 | 68530560 |
| 4.21.177.128 | 4.21.177.255 | 美国 南新汉普郡学院 | NULL | 68530560 | 68530688 |
| 4.21.178.0 | 4.36.124.127 | 美国 9xz.net | NULL | 68530688 | 69500032 |
| 4.36.124.128 | 4.36.124.255 | 美国 Technical Resource Connections | Inc | 69500032 | 69500160 |
| 4.36.125.0 | 4.36.127.255 | 美国 坦帕大学 | NULL | 69500160 | 69500928 |
| 4.36.128.0 | 4.37.215.255 | 美国 9xz.net | NULL | 69500928 | 69588992 |
| 4.37.216.0 | 4.37.219.255 | 美国 德克萨斯女子大学 | NULL | 69588992 | 69590016 |
| 4.37.220.0 | 4.41.60.255 | 美国 9xz.net | NULL | 69590016 | 69811456 |
| 4.41.61.0 | 4.41.61.255 | 美国 EARTHLINK公司 | NULL | 69811456 | 69811712 |
| 4.41.62.0 | 4.43.68.255 | 美国 9xz.net | NULL | 69811712 | 69944576 |
| 4.43.69.0 | 4.43.69.95 | 美国 罗斯门特学院 | NULL | 69944576 | 69944672 |
| 4.43.69.96 | 4.208.48.255 | 美国 Genuity用户 | NULL | 69944672 | 80752896 |
| 4.208.49.0 | 4.208.49.255 | 美国 加洲 | NULL | 80752896 | 80753152 |
| 4.208.50.0 | 4.237.255.255 | 美国 Genuity用户 | NULL | 80753152 | 82706432 |
| 4.238.0.0 | 4.239.255.255 | 美国 宾夕法尼亚州 | NULL | 82706432 | 82837504 |
+--------------+---------------+-------------------------------------+-------+----------+----------+
22 rows in set (0.01 sec)mysql>