2014-01-08 3 views
-2

нужно выбрать те же значения в 1 колонке, например: Select * from Table, это должно вернуться, как это:PHP/MySQL - Возвращаемые значения в одном столбце

ColumnName | ColumnValue 
google   1,2,3,4 
facebook  1,2,3,5 

Фактический запрос, возвращает это.

ColumnName | ColumnValue 
google   1 
google   2 
google   3 
google   4 
facebook   1 
facebook   2 
facebook   3 
facebook   4 

Может кто-нибудь мне помочь?

Спасибо!

+0

Google для group_concat – rkosegi

ответ

3

Вы ищете GROUP_CONCAT:

SELECT GROUP_CONCAT(ColumnValue SEPARATOR ', ') FROM table GROUP BY ColumnName; 

Учитывая обоснование реляционных баз данных, хотя, вы должны быть осторожными намеренно денормализации своих результатов.

1

Похоже, что вы ищете GROUP_CONCAT()

SELECT ColumnName, GROUP_CONCAT(ColumnValue) AS `ColumnValues`) 
FROM Table 
GROUP BY ColumnName 
1

Вы должны использовать GROUP_CONCAT и GROUP BY функции:

SELECT ColumnName, GROUP_CONCAT(ColumnValue) AS ColumnValues FROM Table GROUP BY ColumnName 

Если вы не хотите разрешить повторяющиеся значения в списке, таких как 1,2,2,2,3,4 затем добавить DISTINCT:

SELECT ColumnName, GROUP_CONCAT(DISTINCT ColumnValue) AS ColumnValues FROM Table GROUP BY ColumnName 
Смежные вопросы