I'm trying to remove inner polygons with postgis. I've created a routine, that resumes in: From a polygon table, with a unique id: - Create a linestring table from polygon - Import to postgis - Get the length of each line Now I have a table with, for example, 5 linestrings for each id, each linestring was a polygon, and I want to get ONLY the longest line from each ID. [![enter image description here][2]][2] For this, I have a select, but I don't know how to group the geometry, to get ONLY the longest line select id, geom as length from esp_lines group by id I have to group it by another field, but I don't know which one. The other solution I've found is: select id, max(geom) as length from esp_lines group by id but max(geom) doesn't give me the expected result (the longest linestring) Does anybody know if is there any function to get the longest linestring of a group? [1]: https://i.sstatic.net/EFElB.png [2]: https://i.sstatic.net/EFElB.png