1
我想计算两点之间的距离。对于一个表中的每个点,我必须计算与同一数据库中另一个表中所有其他点的距离。我正在使用python,但我无法一次执行两个查询。两次select查询python
import mysql.connector
from haversine import haversine
cnx = mysql.connector.connect(host='localhost',user='xxxxx',passwd='xxxxxx',db='xxxxxx')
cursor = cnx.cursor()
cursor2 = cnx.cursor()
query = ("select longitude,latitude from roadData limit 5")
cursor.execute(query)
query2=("SELECT geo_coordinates_latitude, geo_coordinates_longitude from tweetmelbourne limit 2")
cursor2.execute(query2)
for (longitude,latitude) in cursor:
print longitude
print latitude
for (geo_coordinates_longitude,geo_coordinates_latitude) in cursor2:
print geo_coordinates_longitude
print geo_coordinates_latitude
cursor.close()
cnx.close()
但是,我得到错误第二查询执行
InternalError: Unread result found.
我试图缓冲=真正的光标但还是同样的错误。 这样做或其他更好的方式也是有效的。你可以在这里使用
Hi Tim我明白你的意思,但我有4 Gb的数据,所以CrOSS Join并不有利,而且速度很慢。如果我acn做行明智我将结果存储在运行。对于交叉连接,首先你必须映射,然后它会计算。 –
用于在SQL中连接两个表的方法是一个连接(也是一个联合,但在这里不起作用)。如果你不能加入,而你目前的方法不起作用,那你还有什么选择? –
我想获得rowwise数据,然后做rowise交叉连接与其他表的所有条目和基于距离条件存储过滤另一个表中。 –