我在我的实例中遇到了GROUP_CONCAT函数的一个奇怪问题,使用它将整数组合在一起工作得很好,但是将它应用到varchar根本不起作用。
数据如下:
CUSTOMERID LOCATIONNAME PRODUCTID UNITS ID PRODUCTNAME
1 Location 65 100 1 Product 65
1 Location 66 100 2 Product 66
1 Location 67 100 3 Product 67
1 Location 68 100 4 Product 68
1 Location 68 100 5 Product 68
当我跑步时:SELECT GROUP_CONCAT(DISTINCT lm.ProductID) as Brand FROM locationMap lm WHERE (lm.CustomerID = 1);
返回65,66,67,68并正常工作。
当我跑步时:SELECT GROUP_CONCAT(DISTINCT lm.ProductName) as Brand FROM locationMap lm WHERE (lm.CustomerID = 1);
仅返回第一项(产品65)。
我设置了一个SQL小提琴(http://www.sqlfiddle.com/#!2/2392f/3)来测试它,一切都在那里正常运行。任何人都可以提出我的环境中可能导致错误的建议吗?我正在运行5.5.30-MariaDB-30.1
答案 0 :(得分:2)
已验证将服务器从5.5.30-MariaDB-30.1升级到5.5.38-MariaDB-35.2已解决此问题。感谢大家的建议。