Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
12.03.2025, 18:10
|
|||
---|---|---|---|
Получить последние 4 записи по дате из каждой категории |
|||
#18+
Здравствуйте! Нужна помощь. Получить последние 4 записи по дате из каждой категория(с каждой категории по 4 записи). Есть оконные функции но по примерам их использовании не могу разобраться. Мой пример Код: SQL 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
12.03.2025, 21:57
|
|||
---|---|---|---|
Получить последние 4 записи по дате из каждой категории |
|||
#18+
через row_number() делаете Код: SQL 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
13.03.2025, 16:57
|
|||
---|---|---|---|
Получить последние 4 записи по дате из каждой категории |
|||
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
|
13.03.2025, 17:50
|
|||
---|---|---|---|
Получить последние 4 записи по дате из каждой категории |
|||
#18+
так я написал запрос выше только не стал все буквы руками переписывать, это слишком дорого Вам нужно добавить в ваш запрос новое поле row_number() over (partition by category order by published_date desc) as rn которое пронумерует все строки в разрезе категории и потом просто по нему фильтровать where rn <= 4 единственное что where на результат оконки сразу не будет действовать, и нужно всё в подзапрос обернуть, чтобы where сделать ... |
|||
:
Изменено: 13.03.2025, 17:50 - чебуран
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=46&tablet=1&tid=2187220]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
23ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 105ms |
0 / 0 |