powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Группировка подряд идущих записей с одинаковыми несколькими полями - как?
4 сообщений из 4, страница 1 из 1
Группировка подряд идущих записей с одинаковыми несколькими полями - как?
    #37706861
lptss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравтствуйте!
Имеется таблица вида
ID A
1 5
2 5
3 3
4 3
5 5
6 4

Нужен запрос, который должен отсортировать ее по ID, затем объединить записи с одинаковым A, идущие подряд (после сортировки), из ID нужен, например, максимум. Т.е. результат должен иметь вид
MAX_ID A
2 5
4 3
5 5
6 4

Group BY не подходит, т.к. он объединит записи (2 5) и (5 5), хотя между ними есть запись с другим значением A.
Как это сделать средствами стандартного SQL?
...
Рейтинг: 0 / 0
Группировка подряд идущих записей с одинаковыми несколькими полями - как?
    #37706961
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если ID подряд идут
Код: sql
1.
2.
3.
select T1.ID, T1.A
from T as T1
left join T as T2 on (T1.ID+1=T2.ID and T1.A<>T2.A)
...
Рейтинг: 0 / 0
Группировка подряд идущих записей с одинаковыми несколькими полями - как?
    #37707122
lptss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Naf,

ваш вариант возвращает все записи как они есть в таблице. Если заменить left join на inner, то работает почти правильно, но не возвращает последнюю запись. Кроме того, ID могут идти и не подряд.
...
Рейтинг: 0 / 0
Группировка подряд идущих записей с одинаковыми несколькими полями - как?
    #37707452
Хэнк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Аналитические функции "стандартным SQL" считаем ?

Код: plsql
1.
2.
3.
4.
5.
6.
7.
select id, a
  from (
       select id, a, case when a <> lead(a, 1, a + 1) over (order by id) then 'X' end flg
         from таблица
       )
 where flg is not NULL
 order by id
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Группировка подряд идущих записей с одинаковыми несколькими полями - как?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]