2013-07-11 5 views
-1

У меня есть таблица Я пытаюсь получить отсчеты от времени суток для отдельной колонкиКак перечислить данные MySQL горизонтально

| Name | HR | # | 
+---+---+-----+----+ 
| A  | 00 | 10 | 
| A  | 01 | 11 | 
| B  | 00 | 8 | 
| B  | 01 | 9 | 
| C  | 00 | 6 | 
| C  | 01 | 7 | 
+-----+---+--+--+---+ 


00 10 8 6 
01 11 9 7 

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

+0

Это называется кросс-таблицей, и mysql не поддерживает его изначально. Об этом здесь много вопросов о SO - search. –

+0

'Pivot' может быть лучшим выбором, чем кросс-таблица - см. Http://stackoverflow.com/questions/tagged/pivot+mysql –

+0

Это должно быть сегодняшнее домашнее задание, так как сегодня это третий вопрос. –

ответ

0

Возможно, GROUP_CONCAT() будет достаточным?

SELECT HR, GROUP_CONCAT(`#`) FROM my_table GROUP BY HR 

Посмотрите на sqlfiddle.

Вы можете разделить (строка) результат на разделитель, который запятая по умолчанию, но может быть изменен на любой требуемый символ (например, U+001E, то ASCII «разделитель записей»), используя ключевое слово SEPARATOR.

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