powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Выборка только повторяющихся значений
5 сообщений из 5, страница 1 из 1
Выборка только повторяющихся значений
    #38308135
Gnus1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть табличка, результат всегда будет отличаться,
1 data1 data3 номер1 число1
2 data1 data2 номер2 число2
3 data1 data2 номер3 число3
4 data1 data4 номер4 число4
5 data1 data2 номер5 число5
6 data1 data4 номер6 число6
7 data1 data5 номер7 число7

хочу приучить скрипт чтобы на выходе он выдавал строки с не более чем с тремя повторяющимися значениями столбца 3, то есть в моем случае резултат хочу чтобы был

5 data1 data2 номер5 число5
3 data1 data2 номер3 число3
2 data1 data2 номер2 число2



Писал
типа
select столбец1,...2,...3,...4,...5
from
( select ...
from ...
where...) b
where exists ( select а.столбец3 from table a where а.столбец3=b.столбец3 and a.столбец3!=б.столбец3)
group by...

Выдает в итоге то же что и без exists. Что делать ?
...
Рейтинг: 0 / 0
Выборка только повторяющихся значений
    #38308178
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gnus1Что делать ?
Использовать оконные функции.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Выборка только повторяющихся значений
    #38308211
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скорее всего, аналитическая ф-я count, например.

типа
select * from
(
select count(*) over (partition by столбец3) cnt, t.* from .... t
) where cnt > 1 and cnt <= 3

или типа того
...
Рейтинг: 0 / 0
Выборка только повторяющихся значений
    #38308232
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По Вашему примеру не "не более трех повторений", а "ровно три повторения"

Код: sql
1.
2.
3.
4.
5.
6.
....
where Field3 in 
      ( select field3
        from ...
         group by field3
         having count(*)  = 3) -- если все-таки "не более трех", то count(*) <=3
...
Рейтинг: 0 / 0
Выборка только повторяющихся значений
    #38308505
Gnus1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может быть и криво, но у меня заработало вот в таком духе

select
a1,a2,a3,a4
from
(select a1,a2,a3,count (имя_столбца_где_нужны_повторения)
over (PARTITION by имя_столбца_где_нужны_повторения) a4 from table where...)

where a4<=3
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Выборка только повторяющихся значений
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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