今天遇到一个问题。我得到了一张包含硬币值(value)的表格:
0.01
0.01
0.01
0.05
0.10
0.25
1.00
1.00
2.00
and so on...
所以主要思想是一次性获取所有值,例如 0.01、0.05 等。
所以我这样做:
SELECT Valeur FROM Mint_Coins GROUP BY Valeur
现在它会给我每个值一行...我希望所有值都在一行中,所以我使用这个:
SELECT GROUP_CONCAT(',', Valeur) AS Values FROM Mint_Coins GROUP BY Valeur
它再次给我 blob 中的 7 行...拥有 blob 意味着该行超过 512 字节...好吧,让我们看看我何时转换它们包含...结果现在是:
0.01, 0.01, 0.01, 0.01
0.05, 0.05
etc..
那么我做错了什么?我希望结果保持在一行一行中,如下所示 0.01,0.05,0.10,0.25,1.00,2.00
。
谢谢
最佳答案
您可以将distinct传递给group_concat以忽略重复的值:
SELECT GROUP_CONCAT(DISTINCT Valeur) AS Values FROM Mint_Coins
在这种情况下,您也不需要分组。
如果您想要多行结果,您也可以这样做:
SELECT DISTINCT Valeur FROM Mint_Coins
关于MySQL GROUP BY 和 GROUP_CONCAT 返回所有行合并?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10129725/