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

これで、値ごとに1つの行が表示されます...すべての値を1つの行に入れたいので、これを使用します。

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..

だから私は間違っているのですか?このように、結果を1つの列と1つの行に保持したいと思い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 に答える