Магазины с более чем 100 заказами за месяц

SQLJunior10 минпроверка — Спринтзапрос · PostgreSQL14-t022

Таблица orders (id, amount, user_id, shop_id, created_at, updated_at).

Выведи shop_id и количество заказов (orders_count), созданных в марте 2024 года, для магазинов, у которых таких заказов больше 100.

schema.sqlsql
1CREATE TABLE orders (2    id         serial PRIMARY KEY,3    amount     numeric   NOT NULL,4    user_id    int       NOT NULL,5    shop_id    int       NOT NULL,6    created_at timestamp NOT NULL,7    updated_at timestamp NOT NULL8);9-- магазин 1: 150 заказов в марте10INSERT INTO orders (amount, user_id, shop_id, created_at, updated_at)11SELECT 100, g, 1, timestamp '2024-03-01 08:00' + (g % 30) * interval '1 day', timestamp '2024-03-01 08:00' + (g % 30) * interval '1 day'12FROM generate_series(1, 150) g;13-- магазин 2: ровно 100 заказов в марте14INSERT INTO orders (amount, user_id, shop_id, created_at, updated_at)15SELECT 100, g, 2, timestamp '2024-03-02 10:00' + (g % 28) * interval '1 day', timestamp '2024-03-02 10:00'16FROM generate_series(1, 100) g;17-- магазин 3: 100 заказов 1–30 марта + 1 заказ 31 марта в 23:59:59 = 101; плюс соседние месяцы на границах18INSERT INTO orders (amount, user_id, shop_id, created_at, updated_at)19SELECT 100, g, 3, timestamp '2024-03-01 00:00' + (g % 30) * interval '1 day', timestamp '2024-03-01 00:00'20FROM generate_series(1, 100) g;21INSERT INTO orders (amount, user_id, shop_id, created_at, updated_at) VALUES22    (100, 1, 3, '2024-03-31 23:59:59', '2024-03-31 23:59:59'),23    (100, 1, 3, '2024-04-01 00:00:00', '2024-04-01 00:00:00'),24    (100, 1, 3, '2024-02-29 23:59:59', '2024-02-29 23:59:59');25-- магазин 4: 90 заказов в марте и 50 в феврале, которые обновлялись в марте26INSERT INTO orders (amount, user_id, shop_id, created_at, updated_at)27SELECT 100, g, 4, timestamp '2024-03-05 12:00', timestamp '2024-03-05 12:00' FROM generate_series(1, 90) g;28INSERT INTO orders (amount, user_id, shop_id, created_at, updated_at)29SELECT 100, g, 4, timestamp '2024-02-10 12:00', timestamp '2024-03-10 12:00' FROM generate_series(1, 50) g;
⌘ Enter — проверить