TGViewer
SQL Pro SQL Pro @sqlprofi · 4.9K subscribers
Post #73 2.42K
Трюк дня. Найти записи с граничными значениями без соединения таблицы на саму себя

Один из вариантов - это сначала найти максимальное значение для каждого ID с помощью GROUP BY, и затем соединить таблицу с самой собой по ID и max значению.
Но есть способ лучше:

SELECT
dat2.*
FROM
(
SELECT
dat.*,
CASE WHEN (num = MAX(num) OVER (PARTITION BY id)) THEN 'y' ELSE 'n' END AS max_num
FROM current_table dat
) dat2
WHERE max_num = 'y'

#tips
  • 👍 1
More from @sqlprofi
  1. Oct 7, 2026❔ Вопрос с собеседования Как работает SQL-триггер? Ответ: Когда происходит событие, СУБД а…
  2. Oct 2, 2026SELECT order_id FROM order_table o JOIN customer c ON o.customer_id = c.customer_id WHERE…
  3. Aug 17, 2026Большой тест по SQL для тестировщиков из 44 вопроса - https://qarocks.ru/test_post/big-sql…
  4. Aug 10, 20265 обязательных книг по SQL 1⃣ “SQL: быстрое погружение”. Автор - Уолтер Шилдс Эта книга по…
  5. Jul 28, 2026Трюк дня. Сравнение с предыдущим. Решение. Решение: использование DATEDIFF DATEDIFF: эта ф…
  6. Jul 28, 2026Трюк дня. Сравнение с предыдущим Напишите SQL-запрос, который находит в таблице weather вс…
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 →