How to re-use result for SELECT, WHERE and ORDER BY clauses?

前端 未结 3 970
半阙折子戏
半阙折子戏 2020-12-11 05:34

The following query returns the venues near us (lat: 62.0, lon: 25.0) inside whose radius we fall in ordered by distance:

SELECT *, 
     earth_distance(ll_t         


        
3条回答
  •  无人及你
    2020-12-11 05:51

    While I use MS SQL Server primarily, I'm pretty sure PostgreSQL supports CTEs. Try something like:

    WITH CTE_venues AS (
    SELECT *, earth_distance(ll_to_earth(62.0, 25.0), ll_to_earth(lat, lon)) AS distance 
    FROM venues 
    )
    SELECT *
    FROM CTE_venues 
    WHERE distance <= radius 
    ORDER BY distance
    

提交回复
热议问题