有一个号码资源的管理需求,具体如下:
字段 number(8位) state(占用 、空闲)
号码数据集:180万 ,全部是连续号码,例如(44210000~46009999)1. 求该号码集千号段首号码
描述:连续1000个state全为“空闲”的号码集,输出首号码(如44250000~44250999 state全部为空闲,输出44250000)2. 求该号码集百号段首号码
描述:在非千号段里筛选,连续100个state全为“空闲”的号码集,输出首号码(如44250000~44250099 state全部为空闲,输出44250000)3.求该号码集整十号段首号码
描述:在非百号段里筛选,连续10个state全为“空闲”的号码集,输出首号码(如44250000~44250009 state全部为空闲,输出44250000)求各位大神帮忙看下有什么比较好解决的方案,本人按照逻辑写了,性能很差
字段 number(8位) state(占用 、空闲)
号码数据集:180万 ,全部是连续号码,例如(44210000~46009999)1. 求该号码集千号段首号码
描述:连续1000个state全为“空闲”的号码集,输出首号码(如44250000~44250999 state全部为空闲,输出44250000)2. 求该号码集百号段首号码
描述:在非千号段里筛选,连续100个state全为“空闲”的号码集,输出首号码(如44250000~44250099 state全部为空闲,输出44250000)3.求该号码集整十号段首号码
描述:在非百号段里筛选,连续10个state全为“空闲”的号码集,输出首号码(如44250000~44250009 state全部为空闲,输出44250000)求各位大神帮忙看下有什么比较好解决的方案,本人按照逻辑写了,性能很差
解决方案 »
- 关于 在IBATIS中 mysql insert 主键问题
- MySql insertTime>=DATE_SUB()函数问题
- Linux平台上我的Mysql启动不了了
- 【讨论】mysql数据库的单一表数据超过4G以后。
- 想问一下,一般的资源下载网站是怎么做的?
- mysqldump 出错
- 子查询加到insert里怎么写呀????求SQL高手
- 如何列出Mysql中一个表的所有列的名称??急
- mysql存储过程问题
- 局域网内主机不关闭防火墙,数据库可以被其它电脑访问吗
- mysql的存储过程按下列要求如何写(只是用存储过程方式),求大神解答
- 用mysql存储过程将每个enable为1和is_app为1的app对应的数据插入到另外一张表里
建议state:0空闲、1占用,状态值加和为0筛选空闲段。
SELECT number,SUM(state) FROM table
GROUP BY SUBSTR(number,1,5)
HAVING SUM(state)=0方案二:
先筛选所有空闲,然后分组count数量为1000的段。
SELECT number,count(number) FROM table
WHERE state='空闲'
GROUP BY SUBSTR(number,1,5)
HAVING count(number)=1000百号段就GROUP BY SUBSTR(number,1,6)
《如何协助 MySQL 实现 Oracle 高级分析函数》