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

Всем привет, постоянно сталкиваюсь с проблемой группировки если нужно сделать

ее по одному полю, а выбрать нужно еще и другие

select "tk"."type", "t"."content", "relation_id", l.code as lang_code, l.name as lang_name
from "page_metadata"
inner join "translators" as "t" on "t"."id" = "page_metadata"."translator_id"
inner join "translator_key" as "tk" on "tk"."id" = "t"."translator_key_id"
inner join "language" as "l" on "l"."id" = "t"."language_id"
where "page_metadata"."relation_id" = 1
and "page_metadata"."page_type" = 5
and "tk"."type" = 'body_content'
group by relation_id

В этом случаи я получаю ошибку ERROR: column "tk.type" must appear in the GROUP BY clause or be used in an aggregate function
Если я укажу все поля которые у меня в запросе то группировка потеряет смысл, так как поля имеют разные данные и это будет то же самое что и без группировки, как правильно составлять запрос в таком случаи?

9 ответов

10 просмотров

ну а какое вам нужно тогда значение ? если для одного relation_id есть разные l.name ? какое из них выбрать ?

Сергей- Автор вопроса
Сергей Кравчук
ну а какое вам нужно тогда значение ? если для одн...

выбрать нужно все что указано в селекте, сделать группировку только по полю relation_id

Сергей
выбрать нужно все что указано в селекте, сделать г...

еще раз какое значение выбрать для l.name, если их более одного ? если у вас нет ответа, то вы не понимаете как работает группировка

"постоянно сталкиваюсь с проблемой группировки если нужно сделать ее по одному полю, а выбрать нужно еще и другие" Звучит как классический случай для использования оконных функций)

Сергей- Автор вопроса
Сергей Кравчук
еще раз какое значение выбрать для l.name, если их...

значение l.name тоже разные, чуть ошибся в запросе, нужно группировку сделать как раз таки по полю l.name или/и l.code

Сергей
значение l.name тоже разные, чуть ошибся в запросе...

окей, тогда какие "поля имеют разные данные " и какие нужно выбрать, если в одном столбце несколько разных значений ?

Сергей- Автор вопроса
Сергей Кравчук
окей, тогда какие "поля имеют разные данные " и ка...

одинаковые только у type, relation_id разные у каждой строки это content code и name одинаковые для двух строк получается этот запрос выбирает записи на 5-х языках, выборка отдает 10 строк, в которых code и name можно сгруппировать по 2 значения

Сергей
одинаковые только у type, relation_id разные у каж...

мы все ближе к истине так какой content вам нужен для каждого type ? первый ? последний? максималтьный ? средний ? любой? все ? вы же не указали вот пострес на вас и ругается

Сергей- Автор вопроса
Сергей Кравчук
мы все ближе к истине так какой content вам нужен ...

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

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

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

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
DS
8
Карта сайта