TGViewer
Merion Academy Merion Academy @it_knowledge_base · 9.01K subscribers
Post #1270 996
Пятничная загадка: SQL-отчёт умножил выручку

В таблице orders у заказа №42 сумма 1000 ₽. У него две строки в order_items и два события в payments. Аналитик собирает отчёт:

SELECT o.id, SUM(o.total) AS revenue
FROM orders o
JOIN order_items i ON i.order_id = o.id
JOIN payments p ON p.order_id = o.id
GROUP BY o.id;

Для заказа №42 отчёт показывает 4000 ₽. В таблице orders одна строка, сумма там правильная. Ни одна таблица не содержит дублей по своему первичному ключу.

Почему получилось именно 4000 ₽?

👀 - SUM складывает значение total дважды: один раз до JOIN и ещё раз после
🔥- два JOIN создали четыре строки: 2 товара × 2 платежа
🤔- база округлила сумму из-за разных типов данных в таблицах

Ставь реакцию. Разбор и правильный запрос — в следующий понедельник.
  • 🔥 44
  • 👀 4
More from @it_knowledge_base
  1. Oct 8, 2026photo post
  2. Oct 7, 2026Найти пользователей с шестью и более заказами — куда поставить условие? 🐸 SELECT user_id,…
  3. Oct 6, 2026Если запрос из Node.js зависает слишком долго, то ставим дедлайн Если проект использует вс…
  4. Oct 5, 2026Разгадка пятничного кейса 🐸 Одна из вероятных причин – в зависимости useEffect попал объе…
  5. Oct 3, 2026React отправляет запрос дважды? Сначала проверь причину 🐸 В разработке StrictMode может д…
  6. Oct 2, 2026Пятничная загадка: кто размножил запросы? После небольшой правки React-страница стала откр…
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 →