Notice: file_put_contents(): Write of 16809 bytes failed with errno=28 No space left on device in /var/www/tgoop/post.php on line 50
Data Science. SQL hub@sqlhub P.1952
SQLHUB Telegram 1952
🧠 Хитрая SQL-задача с подвохом: «Найди самого преданного клиента»

У тебя есть таблица purchases со следующей структурой:


purchases (
id SERIAL PRIMARY KEY,
user_id INT,
item_id INT,
amount DECIMAL,
purchase_date DATE
)


Задача: Найти user_id пользователя, который совершал покупки в каждый календарный месяц хотя бы один раз за последние 2 года.

Но есть подвох:

пользователь должен был купить в каждый месяц (например, март 2024, апрель 2024, ..., июль 2025 — всего 24 месяца)

пропуски даже в одном месяце — дисквалификация

использовать GROUP BY, FILTER, GENERATE_SERIES, LEFT JOIN и другие техники разрешено

📌 Подумай:

- как сгенерировать список всех нужных месяцев?

- как сопоставить их с месяцами, в которых были покупки у каждого пользователя?

- как убедиться, что пользователь не пропустил ни одного?

🧩 Подсказка: решение можно построить с generate_series() по месяцам и LEFT JOIN к сгруппированным user_id + month.

@sqlhub
🔥75👍5



tgoop.com/sqlhub/1952
Create:
Last Update:

🧠 Хитрая SQL-задача с подвохом: «Найди самого преданного клиента»

У тебя есть таблица purchases со следующей структурой:


purchases (
id SERIAL PRIMARY KEY,
user_id INT,
item_id INT,
amount DECIMAL,
purchase_date DATE
)


Задача: Найти user_id пользователя, который совершал покупки в каждый календарный месяц хотя бы один раз за последние 2 года.

Но есть подвох:

пользователь должен был купить в каждый месяц (например, март 2024, апрель 2024, ..., июль 2025 — всего 24 месяца)

пропуски даже в одном месяце — дисквалификация

использовать GROUP BY, FILTER, GENERATE_SERIES, LEFT JOIN и другие техники разрешено

📌 Подумай:

- как сгенерировать список всех нужных месяцев?

- как сопоставить их с месяцами, в которых были покупки у каждого пользователя?

- как убедиться, что пользователь не пропустил ни одного?

🧩 Подсказка: решение можно построить с generate_series() по месяцам и LEFT JOIN к сгруппированным user_id + month.

@sqlhub

BY Data Science. SQL hub


Share with your friend now:
tgoop.com/sqlhub/1952

View MORE
Open in Telegram


Telegram News

Date: |

During a meeting with the president of the Supreme Electoral Court (TSE) on June 6, Telegram's Vice President Ilya Perekopsky announced the initiatives. According to the executive, Brazil is the first country in the world where Telegram is introducing the features, which could be expanded to other countries facing threats to democracy through the dissemination of false content. End-to-end encryption is an important feature in messaging, as it's the first step in protecting users from surveillance. Earlier, crypto enthusiasts had created a self-described “meme app” dubbed “gm” app wherein users would greet each other with “gm” or “good morning” messages. However, in September 2021, the gm app was down after a hacker reportedly gained access to the user data. How to create a business channel on Telegram? (Tutorial) On Tuesday, some local media outlets included Sing Tao Daily cited sources as saying the Hong Kong government was considering restricting access to Telegram. Privacy Commissioner for Personal Data Ada Chung told to the Legislative Council on Monday that government officials, police and lawmakers remain the targets of “doxxing” despite a privacy law amendment last year that criminalised the malicious disclosure of personal information.
from us


Telegram Data Science. SQL hub
FROM American