我有一个 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 输出每个 ID 的第一个找到的行。我在 te docs 的某个地方读到了这个。
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 顺序。这是正常的吗?