I am trying to get the max(date) from a feature service using the rest api.
The where clause I am using is
SellDate =(select max(SellDate) from Buncombe_County_Property_Sales_Data)
But I keep getting 'where' parameter is invalid.
https://services6.arcgis.com/VLA0ImJ33zhtGEaP/ArcGIS/rest/services/Buncombe_County_Property_Sales_Data/FeatureServer/0/q…
Thanks
Vicki
Are you using AGOL or your own server/service? Are you using an HTML form, or are you using another method for your query? In the meantime, I would suggest the following:
"where" : "1=1", "outFields" : "*", "orderByFields" : "SellDate DESC", "resultRecordCount" : "1"<SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>
Hi Vicki,
ArcGIS Online only allows certain standardized queries:
Standardized SQL functions in ArcGIS Online—ArcGIS Online Help | ArcGIS
Subqueries as a where clause, for example, POP_2010 = (SELECT min(POP_2010) FROM counties, are not supported
You can accomplish what you're looking for Python, though. Here is an example:
<SPAN class="keyword token">import</SPAN> urllib<SPAN class="punctuation token">,</SPAN> urllib2<SPAN class="punctuation token">,</SPAN> json<SPAN class="punctuation token">,</SPAN> datetime<SPAN class="punctuation token">,</SPAN> time queryURL <SPAN class="operator token">=</SPAN> <SPAN class="string token"><SPAN>'</SPAN><A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2Fservices6.arcgis.com%2FVLA0ImJ33zhtGEaP%2FArcGIS%2Frest%2Fservices%2FBuncombe_County_Property_Sales_Data%2FFeatureServer%2F0%2Fquery" target="_blank">https://services6.arcgis.com/VLA0ImJ33zhtGEaP/ArcGIS/rest/services/Buncombe_County_Property_Sales_Data/FeatureServer/0/query</A><SPAN>'</SPAN></SPAN> params <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">{</SPAN><SPAN class="string token">'f'</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">'json'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'where'</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">'1=1'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'outFields'</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">'*'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'returnIdsOnly'</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">'true'</SPAN><SPAN class="punctuation token">}</SPAN> req <SPAN class="operator token">=</SPAN> urllib2<SPAN class="punctuation token">.</SPAN>Request<SPAN class="punctuation token">(</SPAN>queryURL<SPAN class="punctuation token">,</SPAN> urllib<SPAN class="punctuation token">.</SPAN>urlencode<SPAN class="punctuation token">(</SPAN>params<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN> response <SPAN class="operator token">=</SPAN> urllib2<SPAN class="punctuation token">.</SPAN>urlopen<SPAN class="punctuation token">(</SPAN>req<SPAN class="punctuation token">)</SPAN> ids <SPAN class="operator token">=</SPAN> json<SPAN class="punctuation token">.</SPAN>load<SPAN class="punctuation token">(</SPAN>response<SPAN class="punctuation token">)</SPAN> minId <SPAN class="operator token">=</SPAN> ids<SPAN class="punctuation token">[</SPAN><SPAN class="string token">'objectIds'</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">[</SPAN><SPAN class="number token">0</SPAN><SPAN class="punctuation token">]</SPAN> maxId <SPAN class="operator token">=</SPAN> ids<SPAN class="punctuation token">[</SPAN><SPAN class="string token">'objectIds'</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">[</SPAN><SPAN class="operator token">-</SPAN><SPAN class="number token">1</SPAN><SPAN class="punctuation token">]</SPAN> x <SPAN class="operator token">=</SPAN> minId <SPAN class="keyword token">while</SPAN> x <SPAN class="operator token"><</SPAN> maxId<SPAN class="punctuation token">:</SPAN> y <SPAN class="operator token">=</SPAN> x <SPAN class="operator token">+</SPAN> <SPAN class="number token">1000</SPAN> <SPAN class="keyword token">if</SPAN> y <SPAN class="operator token">></SPAN> maxId<SPAN class="punctuation token">:</SPAN> y <SPAN class="operator token">==</SPAN> maxId <SPAN class="operator token">+</SPAN> <SPAN class="number token">1</SPAN> where <SPAN class="operator token">=</SPAN> <SPAN class="string token">'FID >= '</SPAN> <SPAN class="operator token">+</SPAN> str<SPAN class="punctuation token">(</SPAN>x<SPAN class="punctuation token">)</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">' AND FID < '</SPAN> <SPAN class="operator token">+</SPAN> str<SPAN class="punctuation token">(</SPAN>y<SPAN class="punctuation token">)</SPAN> params <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">{</SPAN><SPAN class="string token">'f'</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">'json'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'where'</SPAN><SPAN class="punctuation token">:</SPAN> where<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'outFields'</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">'*'</SPAN><SPAN class="punctuation token">}</SPAN> req <SPAN class="operator token">=</SPAN> urllib2<SPAN class="punctuation token">.</SPAN>Request<SPAN class="punctuation token">(</SPAN>queryURL<SPAN class="punctuation token">,</SPAN> urllib<SPAN class="punctuation token">.</SPAN>urlencode<SPAN class="punctuation token">(</SPAN>params<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN> response <SPAN class="operator token">=</SPAN> urllib2<SPAN class="punctuation token">.</SPAN>urlopen<SPAN class="punctuation token">(</SPAN>req<SPAN class="punctuation token">)</SPAN> data <SPAN class="operator token">=</SPAN> json<SPAN class="punctuation token">.</SPAN>load<SPAN class="punctuation token">(</SPAN>response<SPAN class="punctuation token">)</SPAN> dateList <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="punctuation token">]</SPAN> <SPAN class="keyword token">for</SPAN> data <SPAN class="keyword token">in</SPAN> data<SPAN class="punctuation token">[</SPAN><SPAN class="string token">'features'</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">:</SPAN> dateList<SPAN class="punctuation token">.</SPAN>append<SPAN class="punctuation token">(</SPAN>data<SPAN class="punctuation token">[</SPAN><SPAN class="string token">'attributes'</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">[</SPAN><SPAN class="string token">'SellDate'</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">)</SPAN> x <SPAN class="operator token">+=</SPAN> <SPAN class="number token">1000</SPAN> y <SPAN class="operator token">+=</SPAN> <SPAN class="number token">1000</SPAN> dateList<SPAN class="punctuation token">.</SPAN>sort<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN> maxDate <SPAN class="operator token">=</SPAN> str<SPAN class="punctuation token">(</SPAN>dateList<SPAN class="punctuation token">[</SPAN><SPAN class="operator token">-</SPAN><SPAN class="number token">1</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">[</SPAN><SPAN class="number token">0</SPAN><SPAN class="punctuation token">:</SPAN><SPAN class="number token">10</SPAN><SPAN class="punctuation token">]</SPAN> <SPAN class="keyword token">print</SPAN><SPAN class="punctuation token">(</SPAN>time<SPAN class="punctuation token">.</SPAN>strftime<SPAN class="punctuation token">(</SPAN>datetime<SPAN class="punctuation token">.</SPAN>datetime<SPAN class="punctuation token">.</SPAN>fromtimestamp<SPAN class="punctuation token">(</SPAN>int<SPAN class="punctuation token">(</SPAN>maxDate<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">.</SPAN>strftime<SPAN class="punctuation token">(</SPAN><SPAN class="string token">'%c'</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>
Les membres connectés peuvent publier, suivre les mises à jour, et plus encore. Nouveau ici ? Inscrivez-vous gratuitement.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.