Spatial Aggregate Functions +------------------------------------+ mysql>  SELECT ST_AsText(ST_SRID(ST_GeomFromGeoJSON(@json),0)); +-------------------------------------------------+ | ST_AsText(ST_SRID(ST_GeomFromGeoJSON(@json),0)) | +-------------------------------------------------+ | POINT(102 0) | +-------------------------------------------------+ 12.17.12 Spatial Aggregate Functions MySQL supports aggregate functions that perform a calculation on a set of values. For general information about these functions, see Section 12.20.1, “Aggregate Function Descriptions” . This section describes the ST_Collect()  spatial aggregate function. ST_Collect()  can be used as a window function, as signified in its syntax description by [ over_clause ] , representing an optional  OVER  clause.  over_clause  is described in Section 12.21.2, “Window Function Concepts and Syntax” , which also includes other information about window function usage. Aggregates geometry values and returns a single geometry collection value. With the  DISTINCT  option, returns the aggregation of the distinct geometry arguments. As with other aggregate functions,  GROUP BY  may be used to group arguments into subsets. ST_Collect()  returns an aggregate value for each subset. This function executes as a window function if  over_clause  is present.  over_clause  is as described in Section 12.21.2, “Window Function Concepts and Syntax” . In constrast to most aggregate functions that support windowing,  ST_Collect()  permits use of  over_clause  together with  DISTINCT . ST_Collect()  handles its arguments as follows: • NULL  arguments are ignored. •If all arguments are  NULL  or the aggregate result is empty, the return value is  NULL . •If any geometry argument is not a syntactically well-formed geometry, an  ER_GIS_INVALID_DATA error occurs. •If any geometry argument is a syntactically well-formed geometry in an undefined spatial reference system (SRS), an  ER_SRS_NOT_FOUND  error occurs. •If there are multiple geometry arguments and those arguments are in the same SRS, the return value is in that SRS. If those arguments are not in the same SRS, an ER_GIS_DIFFERENT_SRIDS_AGGREGATION  error occurs. •The result is the narrowest  Multi Xxx  or  GeometryCollection  value possible, with the result type determined from the non- NULL  geometry arguments as follows: •If all arguments are  Point  values, the result is a  MultiPoint  value. •If all arguments are  LineString  values, the result is a  MultiLineString  value. •If all arguments are  Polygon  values, the result is a  MultiPolygon  value. •Otherwise, the arguments are a mix of geometry types and the result is a  GeometryCollection value. 2337 • ST_Collect([DISTINCT]  g ) [ over_clause ]