TGViewer
Базы данных (Data Base) Базы данных (Data Base) @database_info · 8.04K subscribers
Post #320 4.86K
Вопрос с собеседования Microsoft

Найдите общее количество загрузок для платных и бесплатных пользователей по дате. Включайте только те записи, в которых неоплачиваемые клиенты имеют больше загрузок, чем платные клиенты. Вывод должен быть сначала отсортирован по самой ранней дате и содержать дату в 3 столбцах, бесплатные загрузки, платные загрузки.

ms_user_dimension

user_id:int
acc_id:int
ms_acc_dimension

acc_id:int
paying_customer:varchar
ms_download_facts

date:datetime
user_id:int
downloads:int


Ответ

with out AS(select date
, Sum (downloads) Filter(Where paying_customer = 'no') as non_paying
, Sum (downloads) Filter(Where paying_customer = 'yes') as paying
From ms_download_facts fact
Left Join ms_user_dimension a
on fact.user_id = a.user_id
Join ms_acc_dimension acc
on a.acc_id = acc.acc_id
Group by date
order by date)
Select date , non_paying , paying
From out
Where non_paying > paying


👉 @database_info
  • 👍 8
More from @database_info
  1. Oct 13, 2026🧱 Антипаттерн: Ненормализованная схема в SQL Когда нужно «быстро запилить фичу», руки тян…
  2. Oct 11, 2026🎯 Мини-гайд: как НЕ спроектировать монстра вместо схемы БД Когда проект только начинается…
  3. Oct 10, 2026🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.r…
  4. Oct 8, 2026Без каких навыков не обойтись в ИТ прямо сейчас? Разбираемся с одной из самых популярных С…
  5. Oct 8, 2026Антипаттерн: «Одна таблица на всё» Когда бизнес-логика усложняется, а структура БД остаётс…
  6. Oct 6, 2026❌ Антипаттерн: Хранить даты и время в VARCHAR Встречали такое? CREATE TABLE orders ( id SE…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →