У меня есть ПРОСМОТР (множество объединений), который выводит данные, упорядоченные по дате 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. Это нормально?