如何将整数列表转换为SQL / mariadb中的范围?

时间:2017-10-31 13:12:35

标签: mysql sql mariadb

我遇到类似的问题: converting a list of integers into range in python 但我有一点不同。我有一个非常大的mariadb数据库,我有一个工作表要做:

表:

CREATE TABLE blocks (
block_num   INTEGER,
data_state  TINYINT,
PRIMARY KEY(block_num));

data_state为空的每个条目block_num都必须由python函数处理。

SELECT  block_num FROM blocks
where data_state IS NULL

我有两种选择如何处理这些工作。一个是使用一个处理一个条目的函数和一个可以处理大量条目的函数,这个速度要快得多。批量需要是实现这一目标的范围。在sql中是否有办法返回包含converting a list of integers into range in python范围内的范围的列表?

如果我在python中这样做,我会向数据库发出很多请求,或者需要将整个表作为列表导入到python中,这样效率非常低且速度很慢。

编辑: 每个数字都是唯一的,所有数字都是由规则xn = xn + 1

创建的

列表:

Block_num data_state
1         Null
2         Null
3         1
4         Null
5         Null
6         1
7         1
8         1

可能是data_state为NULL的范围大约是行中的100个条目。

Min:1

最大:大(如1000000)

0 个答案:

没有答案