Python arcpy SearchCursor,SQL语句无效

Python arcpy SearchCursor,SQL语句无效,python,sql,cursor,max,arcpy,Python,Sql,Cursor,Max,Arcpy,我试图从3列中选择最大值(和最小值在单独的代码块中,未显示)。我试图根据我用搜索光标看到的一些工作代码来建模我的代码 我需要能够访问以后写入文件的最大值 问题是搜索游标中的SQL表达式。我试过5种我能想到的变体,但没有一种能够运行。我对SQL表达式了解不多,但我通常至少可以在ArcMap GUI中正确使用它们。在python脚本中,这就像在黑暗中发现一条蛇 这是我的密码: #input shapefile inputFC = 'C:whatever.shp' #variable to

我试图从3列中选择最大值(和最小值在单独的代码块中,未显示)。我试图根据我用搜索光标看到的一些工作代码来建模我的代码

我需要能够访问以后写入文件的最大值

问题是搜索游标中的SQL表达式。我试过5种我能想到的变体,但没有一种能够运行。我对SQL表达式了解不多,但我通常至少可以在ArcMap GUI中正确使用它们。在python脚本中,这就像在黑暗中发现一条蛇

这是我的密码:

    #input shapefile
inputFC = 'C:whatever.shp'

#variable to define the field names
fields = ['Crude_R1', 'Crude_R2', 'Crude_R3', 'STATE_NAME', 'Age_Adj_R1', 'Age_Adj_R2', 'Age_Adj_R3']

CRmax = 0

cursor = arcpy.da.SearchCursor(inputFC, fields[0:2], 'MAX "Crude_R1" AND "Crude_R2" AND "Crude_R3"')
for row in cursor:
    print row[0:2]
CRmax = row[0:2]
del row
del cursor
错误消息:

Traceback (most recent call last):
File "C:\whatever.py", line 64, in <module>
for row in cursor:
RuntimeError: An invalid SQL statement was used.
回溯(最近一次呼叫最后一次):
文件“C:\whatever.py”,第64行,在
对于光标中的行:
运行时错误:使用了无效的SQL语句。

我不确定您想用SQL实现什么。如果您需要有关该语句的帮助,请添加您的数据模式和您试图完成的任务的更详细描述。如果您不熟悉python和arcpy,那么您可能希望使用GUI界面使SQL正常工作,然后将其复制到python脚本中

多次使用“和”,例如:

'MAX "Crude_R1" AND "Crude_R2" AND "Crude_R3"'
您需要在每个“和”后面加上“MAX”:

'MAX "Crude_R1" AND MAX "Crude_R2" AND MAX "Crude_R3"' 
注意:可能需要使用引号进行其他格式设置,但这是其要点。 此外,如果需要,尝试使用“或”而不是“和”

其次,由于您指定了要合并所有三个字段的最大值,所以需要首先通过创建一个新字段将这些字段相加,然后将该字段计算为:

"!Crude_R1! + !Crude_R2 + !Crude_R2!"
然后,您可以简单地执行以下SQL语句:

'MAX "New_Field"'

好的,数据在shapefile的属性表中。我尝试使用SQL来获取表中3列的最大值。我希望这是一个充分的解释,因为我不能显示数据。不是每列的最大值,而是所有3个组合的最大值。也许我太吝啬了,我需要做得更仔细一些。我只是不知道如何完成这项任务。