postgres=# SELECT * FROM ( SELECT n from tv where n= (select * from (select n from tv limit 1) c)) as c ; n ------ 3713 (1 row)
This time , query is started showing wrong result. Is this an expected behavior and if yes -then how to get the correct result ?
The subquery:
select n from tv limit 1
could in theory return any row due to the lack of ORDER BY. What I'm guessing happened is that you're seeing a synchronized sequential scan in follow-up queries. Add an ORDER BY.