У меня есть VIEW (много объединений), который выводит данные, упорядоченные по дате 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 выводит первую найденную строку каждого идентификатора. Я читал это где-то в te документах.
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. Это нормально?