|
1
2
你应该看看这个帖子: 它提供了一些很好的方法,可以在与您非常相似的查询中使用IPs。 您应该尝试的另一件事是使用存储函数而不是子查询。这将简化您的查询,如下所示:
|
|
|
2
0
似乎没有办法通过连接或子查询实现我想要的。 展开 艾克·沃克 的建议,我在MySQL中创建了一个存储函数,如下所示:
说明: 选中忽略空名称,并使用>=&ORDER BY for ip\u start而不是在ip\u start和ip\u end之间是我正在使用的两个组合的网络提供商数据库的一个特定的伪造方法,这两个数据库都需要以这种方式进行查询。 当调用函数的查询只需要返回几百个结果(尽管可能需要几秒钟)时,这种方法工作得很好。对于返回几千个结果的查询,可能需要2到3分钟。对于具有上万个(或更多)结果的查询,它的速度太慢,无法实际使用。
建议: 这样做的结果是,我需要接受数据结构不适合我的需要。我的一个朋友已经向我指出了这一点,但我当时并不想听到这一点(因为我真的很想使用特定的网络提供商数据库,因为表中的其他键对我很有用,例如地理位置)。
至少您需要重新格式化数据,以便它们可以可靠地与简单的BETWEEN语句一起使用(没有排序,也没有其他比较),这样您就可以将其与子查询(或联接)一起使用—尽管这可能是一个指标,表明任何乱七八糟的数据可能都不那么可靠。 |
|
|
Franz Biberkopf · Oracle:组合子查询和聚合函数 3 年前 |
|
|
Brad · SQL Server错误:子查询返回了多个值 8 年前 |
|
|
Mendelsohn · 代码学院SQL表转换课程 8 年前 |
|
|
Bodhi · SQL:如何使用子查询返回结果? 8 年前 |
|
|
Bohao LI · 如何使用子查询的结果 8 年前 |
|
|
Mohamed A.B · MySQL:我需要hel p子查询 8 年前 |
|
|
Supertracer · 使用alias mysql时出现未知列 8 年前 |