2014-11-20 2 views
2

У меня есть таблица MySQL, которая определяет отношение причинности между столбцами. Здесь Event_B происходит из-за Event_A. Любое значение, имеющееся в Event_A, отсутствует в Event_B за это Row_ID.Соберите все нечисловые значения из столбца после предложения GROUP BY в MYSQL

Row_ID Event_A Event_B 
------------------------- 
1   A1  B1 
2   A2  B3 
3   A1  B2 
4   A4  A1 

При рассмотрении A1 от Event_A, ее значения будут все эти значения из Event_B {B1, B2}, но никогда не должны включать A1 в любом случае.

Значения в столбцах и Event_B являются повторяющимися.

О применении GROUP BY положения о Event_A, я хотел бы собрать все значения Event_B колонок для этого соответствующего Event_A в переменной/коллекцию/наборе.

Нужно использовать некоторые указания по SQL-скриптам для продолжения.

[EDIT]:

решение было бы как:

A1 -- {B1, B2} 
A2 -- {B3} 
A4 -- {A1} 
+0

Пожалуйста, измените свой вопрос и показать желаемые результаты. –

ответ

4

ли вы просто хотите group_concat()?

select event_a, group_concat(event_b) as event_bs 
from table t 
group by event_a; 
+0

Или, может быть, 'group_concat (отдельный event_b order by event_b)'? –

+0

О, извините, @ Гордон, я не заметил вашего ответа, прежде чем публиковать мои. –

+0

@ Gordon Linoff: Большое спасибо. Взрыв! – GvanJoic

0

Попробуйте это:

SELECT Event_A, GROUP_CONCAT(Event_B) 
    FROM your_table 
GROUP BY Event_A; 
+0

Большое спасибо за исправление. – GvanJoic

+1

@ Попробуйте, пожалуйста, пролить свет на то, что и почему вы его изменили? это может помочь некоторым лучше понять, почему вы предложили решение выше –

+0

@BogdanEmilMariesan, нет, я ничего не менял, когда я начал отвечать, ответа не было, но когда я нажал кнопку «Добавить ответ», оказалось, что Гордон Линофф уже ответил за две минуты до меня. Я приговаривал к этому, как вы можете видеть под его ответом. –

Смежные вопросы