GROUP_CONCAT изменить порядок GROUP BY

У меня есть ПРОСМОТР (множество объединений), который выводит данные, упорядоченные по дате ASC . Работает как положено.

ВЫВОД похож на:

ID date         tag1   other_data
1  25-03-2011   blue   fff   <=
1  26-03-2011   red    ggg
1  27-03-2011   pink   yyy
2  25-03-2011   red    yyy   <=
2  26-03-2011   orange rrr

Если я применяю GROUP BY ID . Для других столбцов MySQL выводит первую найденную строку каждого идентификатора. Я читал это где-то в документации.

SELECT * FROM `myVIEW`  
GROUP BY `ID`  
  ID date         tag1  other_data  
  1  25-03-2011   blue   fff   <=
  2  25-03-2011   red    yyy   <=

Теперь давайте добавим GROUP_CONCAT ( tags1 )

SELECT *,CONCAT_GROUP(`tag1`) AS `tags`  
FROM `myVIEW`  
GROUP BY `ID`

Поскольку я применяю CONCAT_GROUP, результаты становятся нечеткими. Я ожидал:

ID date         tag1   other_data   tags
1  25-03-2011   blue   fff          blue,red,pink
2  25-03-2011   red    yyy          red,orange

Запрос возвращается, например:

ID date         tag1   other_data   tags
1  26-03-2011   red    ggg          blue,red,pink
2  25-03-2011   red    yyy          red,orange

Похоже, GROUP_CONCAT больше не сохраняет порядок VIEW. Это нормально?

5
задан Quassnoi 25 March 2011 в 12:43
поделиться