aboutsummaryrefslogtreecommitdiff
path: root/challenge-260/luca-ferrari/plpgsql
diff options
context:
space:
mode:
authorrir <rirans@comcast.net>2024-03-16 20:07:25 -0400
committerGitHub <noreply@github.com>2024-03-16 20:07:25 -0400
commitff5e8ece15a2384fbfb530710f10aa485017d4a5 (patch)
tree6fe268d9ceb2b25a2951ea984c077450feb2efae /challenge-260/luca-ferrari/plpgsql
parent60f1003122fbada697317d943c238593f86db579 (diff)
parent62e7fc3bb85a74125663f4fbd0a5911f6f30c81f (diff)
downloadperlweeklychallenge-club-ff5e8ece15a2384fbfb530710f10aa485017d4a5.tar.gz
perlweeklychallenge-club-ff5e8ece15a2384fbfb530710f10aa485017d4a5.tar.bz2
perlweeklychallenge-club-ff5e8ece15a2384fbfb530710f10aa485017d4a5.zip
Merge branch 'manwar:master' into work
Diffstat (limited to 'challenge-260/luca-ferrari/plpgsql')
-rw-r--r--challenge-260/luca-ferrari/plpgsql/ch-1.sql34
-rw-r--r--challenge-260/luca-ferrari/plpgsql/ch-2.sql15
2 files changed, 49 insertions, 0 deletions
diff --git a/challenge-260/luca-ferrari/plpgsql/ch-1.sql b/challenge-260/luca-ferrari/plpgsql/ch-1.sql
new file mode 100644
index 0000000000..3f6d3cdaa6
--- /dev/null
+++ b/challenge-260/luca-ferrari/plpgsql/ch-1.sql
@@ -0,0 +1,34 @@
+--
+-- Perl Weekly Challenge 260
+-- Task 1
+-- See <https://perlweeklychallenge.org/blog/perl-weekly-challenge-260>
+--
+
+CREATE SCHEMA IF NOT EXISTS pwc260;
+
+CREATE OR REPLACE FUNCTION
+pwc260.task1_plpgsql( nums int[] )
+RETURNS boolean
+AS $CODE$
+
+ WITH numbers AS (
+ SELECT n
+ FROM unnest( nums ) n
+ )
+ , counting AS (
+ SELECT n, count(*) AS c
+ FROM numbers
+ GROUP BY n
+ )
+ , grouping AS (
+ SELECT c, count(*) AS g
+ FROM counting
+ GROUP BY c
+ )
+ SELECT NOT EXISTS( SELECT g
+ FROM grouping
+ WHERE g > 1
+ );
+
+$CODE$
+LANGUAGE sql;
diff --git a/challenge-260/luca-ferrari/plpgsql/ch-2.sql b/challenge-260/luca-ferrari/plpgsql/ch-2.sql
new file mode 100644
index 0000000000..2ee0e07735
--- /dev/null
+++ b/challenge-260/luca-ferrari/plpgsql/ch-2.sql
@@ -0,0 +1,15 @@
+--
+-- Perl Weekly Challenge 260
+-- Task 2
+-- See <https://perlweeklychallenge.org/blog/perl-weekly-challenge-260>
+--
+
+CREATE SCHEMA IF NOT EXISTS pwc260;
+
+CREATE OR REPLACE FUNCTION
+pwc260.task2_plpgsql( w text )
+RETURNS int
+AS $CODE$
+ SELECT pwc260.task2_plperl( w );
+$CODE$
+LANGUAGE ùsql;