On Tue, May 07, 2019 at 12:17:12PM +0000, Daniel Perrett wrote: > The WHERE expression (and therefore the random function) is being evaluated once per row, not once per query. > If you run this query a few times, you will see the problem: > SELECT y, chr(round(random())::int + 65) FROM (SELECT 'A' UNION SELECT 'B') x(y); Ah! Thank you! I understand now.