Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Поиск дублей
|
|||
|---|---|---|---|
|
#18+
Добрый день. Есть такой запрос: select ph.orponid as GlobalID , sys.external_id as "HouseID" , ph.adr_adm_ter as "Адрес" from edw_prod.edw_ods.t_000148_ent_as_house ph JOIN edw_prod.edw_ods.t_000148_ent_id_vs_o_add sys on ph.id = sys.house_id and sys.system_id = 354541532 where 1=1 and ph.livestatus = 1 and ph.mrf_id = 354858663--Сибирь and ph.parent_id is not null order by ph.orponid; Как его преобразовать так, чтобы вывести только строки с повторяющимися идентификаторами sys.external_id? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2018, 05:50 |
|
||
|
Поиск дублей
|
|||
|---|---|---|---|
|
#18+
*Ann*, как вариант (внесенные мною изменения - выделены цветом...): Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2018, 06:01 |
|
||
|
Поиск дублей
|
|||
|---|---|---|---|
|
#18+
Щукина Анна*Ann*, как вариант (внесенные мною изменения - выделены цветом...): Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. конечно же, в count-е должно быть хоть что-то ("звездочка", "единица" или в чем вам там считать удобнее ;) ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2018, 06:02 |
|
||
|
Поиск дублей
|
|||
|---|---|---|---|
|
#18+
Щукина Анна, Большое спасибо за помощь. Работает. Но почему-не анализирует фильтр по системе sys.system_id = 354541532, выдаёт дубли во всех системах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2018, 06:57 |
|
||
|
Поиск дублей
|
|||
|---|---|---|---|
|
#18+
Щукина Анна, Ошиблась, все работает. Ещё раз большое спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2018, 06:59 |
|
||
|
Поиск дублей
|
|||
|---|---|---|---|
|
#18+
Добрый день. Подскажите еще, пожалуйста, как сделать вывод дублирующих записей по двум столбцам (в моем случае по полям Широта и Долгота). Вот запрос , который выводит адреса с координатами: select eah.orponid as GlobalID , eah.adr_adm_ter as Адрес , hc.latitude as Широта , hc.longitude as Долгота from CHD.ent_as_house eah LEFT OUTER JOIN chd.house_coordinates hc on eah.coordinates_id = hc.id where 1=1 and eah.livestatus = 1 and eah.parent_id is not null order by eah.orponid; И я посчитала, что по координатам есть дублирующие записи: select hc.latitude , hc.longitude , count(*) from public.house_coordinates as hc group by hc.latitude, hc.longitude having count(*) > 1 Вот в первом запросе мне надо вывести только дубли. Как это сделать? С over partition by у меня не получилось с двумя столбцами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2019, 06:10 |
|
||
|
Поиск дублей
|
|||
|---|---|---|---|
|
#18+
*Ann*, показывайте, как делали... З.Ы. Подсказка (не вдаваясь в тонкости терминологии и технические детали): считайте для себя, что в аналитических функциях конструкция "PARTITION BY" - это аналог конструкции "GROUP BY" агрегатного запроса... Соответственно, если в агрегатном запросе дубли искали через group by hc.latitude, hc.longitude , то и в аналитическом нужно указывать PARTITION BY hc.latitude, hc.longitude ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2019, 06:35 |
|
||
|
Поиск дублей
|
|||
|---|---|---|---|
|
#18+
Пробовала по аналогии с предыдущим запросом: select * from ( select eah.orponid as GlobalID , eah.adr_adm_ter as Адрес , hc.latitude as Широта , hc.longitude as Долгота , count() over(partition by hc.latitude, hc.longitude) as x_cnt from public.ent_as_house eah LEFT OUTER JOIN public.house_coordinates hc on eah.coordinates_id = hc.id where 1=1 and eah.livestatus = 1 and eah.mrf_id = (select id from public.ent_rf_rtk where name = 'МРФ Центр') and eah.parent_id is not null order by eah.orponid ) v where x_cnt > 1 order by hc.latitude, hc.longitude; Выдает ошибку ERROR: 42809: count(*) must be used to call a parameterless aggregate function ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2019, 07:08 |
|
||
|
Поиск дублей
|
|||
|---|---|---|---|
|
#18+
*Ann*, Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2019, 07:30 |
|
||
|
Поиск дублей
|
|||
|---|---|---|---|
|
#18+
Теперь ошибка missing from-clause entry for table 'hc'. В from у меня другая таблица. А с hc идёт соединение по left join ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2019, 07:40 |
|
||
|
Поиск дублей
|
|||
|---|---|---|---|
|
#18+
Нашла, в чем была ошибка. Спасибо большое за помощь! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2019, 09:00 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=118&tid=1688466]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
27ms |
get topic data: |
9ms |
get forum data: |
7ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 253ms |
| total: | 354ms |

| 0 / 0 |
