172 похожих чатов

Подскажите, как сделать агрегацию для одного/нескольких полей для формата ниже: Input: note

task_name task_label task_response
note_1 task_1 task_label_1 task_response_1
note_1 task_2 task_label_2 task_response_2
note_2 task_3 task_label_1 task_response_3
note_2 task_3 task_label_2 task_response_4
note_2 task_4 task_label_5 task_response_6
note_3 task_3 task_label_1 task_response_3

Output:
id notes
unique-uuid-1 {note_1}
unique-uuid-2 {note_2, note_3}

Принцип следующий: если какой-нибудь task_name и task_response одной note, совпадает с task_name и task_response у другой note, то объединить эти note в одну группу.
Соответственно, на выходе могут быть только уникальные значения note, которые не встречаются в других строках. Не могу сообразить, как это проделать.
И второй вопрос. Насколько будет быстрым поиск по колонке notes, если там будут тысячи, десятки тысяч записей? В момент времени хотелось бы вывести unique-uuid-* для конкретной note. Либо можно сделать эту группировку как-то иначе?

6 ответов

8 просмотров

По поводу нумерации записей - посмотрите в сторону row_number() , если я Вас правильно понял, конечно По поводу группировки, как я понимаю, Вам надо следующее select row_number(), array_agg(note) from <table_name> group by task_name, task_response Повторюсь, если я Вас правильно понял

Начните с функции, выдирающей префикс из task_name, и префикс из task_response — чтобы потом по этим префиксам группировать

Mooner- Автор вопроса
alex che
Начните с функции, выдирающей префикс из task_name...

Значения полей здесь приведены в виде примеров для понимания, там строковые значения могут быть какие угодно

Mooner- Автор вопроса
Егор miruzzy
По поводу нумерации записей - посмотрите в сторону...

На данный момент вроде такой запрос и есть, но результат работы получается не таким как должен быть

Mooner- Автор вопроса
Mooner- Автор вопроса

Может в каком-то другом эти данные для note хранить, авось что лучше выйдет..

Похожие вопросы

Обсуждают сегодня

Ну вот просто даже давайте вот как. Какой нибудь конкретный кейс, можете в пример привести, где бч работает и приносит прикладную пользу, а не просто что бы было? Не крипту.
Alexander Andreev
22
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
> Копаем глубже > Следующий момент был, когда я спросил его, знает ли он JavaScript. Он ответил, что его учили работать с C#. Я тоже в университете писал на C#, но даже там мн...
Oleg Volkov
4
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
И никого не интересует какие пакеты кто использует. ((% Заходишь на сайт симфони и видишь поддержку Украины - по законам РФ это ж экстремизм. Только никто не отказывается от с...
Am Ambrion
11
Чтобы перехватить все нажимания буков на форме, надо хук ставить? Пробовал на форме ОнКейДаун, оно ловит клаву если фокус не на компоненте с вводом текста
Serjone
15
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
7
Народ! Впервые клиенту пришло письмо от РКН, у вас, дескать, есть яндекс метрика, а нигде не написано, что вы ее юзаете. Никто не сталкивался?
Sasha Beep
14
Всем привет! вывожу на общей стр дочерние ресурсыв каждом ресурсе галерея, и первая фотка должна выводиться на общей [!DocLister? &prepare=photo !]
Alekso
12
Добрый вечер. Хочу чтобы у меня в классе поле было функцией, которая возвращает строку. Делаю так: interface ... TGetOutPath = function : String of object; ... protec...
Kirill Filippenok
12
Карта сайта