Всем привет, дорогие SQL разработчики и те, кто хочет ими стать. Я стартовала этот канал для того, чтобы помочь начинающим айтишникам разобраться с SQL и его нюансами. В планах у нас разбор задач, полезные видео, трюки языка и многое другое.
Хотелось бы от вас услышать, чего вам не хватает в других телеграм каналах по SQL и что я бы могла сделать уникального. Напишите, пожалуйста, в комментариях под этим постом.
Трюк дня. Найти записи с граничными значениями без соединения таблицы на саму себя
Один из вариантов - это сначала найти максимальное значение для каждого 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'