DEV Community

Discussion on: Square a number: awful answers only

Collapse
 
dmfay profile image
Dian Fay • Edited

Late, but any excuse for a cross join:

CREATE OR REPLACE FUNCTION square (n INT) RETURNS INT
AS $$
  WITH numbers AS (
    SELECT *
    FROM generate_series(1, n)
  )
  SELECT count(*)::INT
  FROM numbers AS n1
  CROSS JOIN numbers AS n2;
$$
LANGUAGE SQL;
Enter fullscreen mode Exit fullscreen mode