2015-01-30 4 views
0

Я следующие данныеMySQL группы по с запятой отделено список

id category_id bookmark_id 
1  1   1 
2  2   1 
3  3   1 
4  4   2 
5  5   1 

и MySQL запросов является

SELECT * from table_name group by bookmark_id 

возвращает

id category_id bookmark_id 
1  1    1 
4  4    2 

, который прекрасно

Но я хочу еще одну колону

id category_id category_list bookmark_id 
1 1   1,2,3,5   1 
4 4    4    2 

Любая идея, как достичь вышеуказанного результата?

ответ

1
select min(category_id) as min_cat, 
     group_concat(distinct category_id order by category_id) as category_list, 
     bookmark_id 
from your_table 
group by bookmark_id 
+0

что цель мин (category_id) как min_cat, –

+0

возвращает первый 'category_id' для каждого' bookmark_id' –

+0

ок, спасибо большое –

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