0

我今天遇到了一个问题。我有一张带有硬币价值的桌子:

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

它再次给了我 7 行 blob... 有 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

谢谢

4

3 回答 3

2

您可以将 distinct 传递给 group_concat 以忽略重复值:

SELECT GROUP_CONCAT(DISTINCT Valeur) AS Values FROM Mint_Coins

在这种情况下,您也不需要分组。

如果您想要多行中的结果,您也可以这样做:

SELECT DISTINCT Valeur FROM Mint_Coins
于 2012-04-12T18:44:05.010 回答
0
SELECT GROUP_CONCAT(A.Valuer SEPARATOR ',') AS Valuer
FROM (SELECT DISTINCT Valuer FROM Mint_Coins)A ORDER BY Valuer;

检查这个有价值的链接。这将对您有所帮助。

http://mahmudahsan.wordpress.com/2008/08/27/mysql-the-group_concat-function/

于 2012-04-12T18:41:19.340 回答
0

你可以使用嵌套子查询吗?

SELECT GROUP_CONCAT(',', (SELECT Valeur FROM Mint_Coins GROUP BY Valeur)) AS Values FROM Mint_Coins
于 2012-04-12T18:43:44.280 回答