Схема: players (id, name) и games (id, player_id, played_at) — по строке на каждую сыгранную игру.
Выведи 5 игроков (id, name, games_count), сыгравших менее 5 раз, включая тех, кто не сыграл ни разу. Бери первых пятерых по возрастанию id.
1CREATE TABLE players (id int PRIMARY KEY, name text NOT NULL);2CREATE TABLE games (3 id serial PRIMARY KEY,4 player_id int NOT NULL REFERENCES players (id),5 played_at timestamp NOT NULL6);7INSERT INTO players VALUES8 (1, 'p1'), (2, 'p2'), (3, 'p3'), (4, 'p4'), (5, 'p5'), (6, 'p6'), (7, 'p7'), (8, 'p8'), (9, 'p9');9-- p1: 7 игр, p2: ровно 5, p3: 4, p4: 0, p5: 1, p6: 3, p7: 4, p8: 2, p9: 010INSERT INTO games (player_id, played_at)11SELECT v.p, timestamp '2024-01-01' + n * interval '1 hour'12FROM (VALUES (1, 7), (2, 5), (3, 4), (5, 1), (6, 3), (7, 4), (8, 2)) AS v(p, cnt),13 generate_series(1, v.cnt) AS n;