From 23d4a215a413e6bc21e22f24476ee4fcd96afc46 Mon Sep 17 00:00:00 2001 From: elena belykh Date: Fri, 9 Jan 2026 00:47:27 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B2=D0=BD=D0=B5=D1=81=D0=B5=D0=BD?= =?UTF-8?q?=D0=BE=20=D0=B2=20=D0=B0=D0=B3=D1=80=D0=B5=D0=B3=D0=B0=D1=86?= =?UTF-8?q?=D0=B8=D0=B8.sql,=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=BE=20=D1=80=D0=B5=D1=88=D0=B5=D0=BD=D0=B8=D0=B5=20?= =?UTF-8?q?=D0=BF=D0=BE=20=D1=80=D0=B0=D0=B7=D0=B4=D0=B5=D0=BB=D1=83=20?= =?UTF-8?q?=D1=84=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../агрегации и группировки/агрегации.sql | 2 +- ebelykh/postgresql/функции/функции.sql | 20 +++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 ebelykh/postgresql/функции/функции.sql diff --git a/ebelykh/postgresql/агрегации и группировки/агрегации.sql b/ebelykh/postgresql/агрегации и группировки/агрегации.sql index 7f7ce9b..7875f0b 100644 --- a/ebelykh/postgresql/агрегации и группировки/агрегации.sql +++ b/ebelykh/postgresql/агрегации и группировки/агрегации.sql @@ -13,7 +13,7 @@ SELECT customer_id, FROM visits v LEFT JOIN transactions t ON v.visit_id = t.visit_id -WHERE transaction_id IS NULL +WHERE t.transaction_id IS NULL GROUP BY customer_id; --Задача 1141 diff --git a/ebelykh/postgresql/функции/функции.sql b/ebelykh/postgresql/функции/функции.sql new file mode 100644 index 0000000..21479c7 --- /dev/null +++ b/ebelykh/postgresql/функции/функции.sql @@ -0,0 +1,20 @@ +--Задача 1211 +SELECT + query_name, + ROUND(AVG(rating * 1.0 / position), 2) AS quality, + ROUND(AVG(CASE WHEN rating < 3 THEN 1 ELSE 0 END) * 100,2) AS poor_query_percentage +FROM Queries +GROUP BY query_name; + +--Задача 1193 +SELECT + TO_CHAR(trans_date, 'YYYY-MM') AS month, + country, + COUNT(*) AS trans_count, + SUM(CASE WHEN state = 'approved' THEN 1 ELSE 0 END) AS approved_count, + SUM(amount) AS trans_total_amount, + SUM(CASE WHEN state = 'approved' THEN amount ELSE 0 END) AS approved_total_amount +FROM Transactions +GROUP BY + TO_CHAR(trans_date, 'YYYY-MM'), + country; \ No newline at end of file