2016-04-11 15 views
1

GROUP_CONCATをORDER BYにすることはできません。GROUP_CONCATを注文できません

SELECT GROUP_CONCAT(`cdlAmountA`+`cdlAmountB`+`cdlAmountC` SEPARATOR "|") 
    FROM `creditlogs` 
    WHERE `cdlDate` = "2016-04-07" 
      AND compID = "AIR" 
    ORDER BY `creditID` 

これは出力されます。

96276.9|7960.2|0|0 

しかし、正しくはありません。正しい答えはです。

0|96276.9|7960.2|0 

私は正しいことができます。これはデータベースです。

creditID | cdlAmountA | cdlAmountB | cdlAmountC 
----------------------------------------------- 
1  | 0   | 0   | 0 
2  | 34948.7 | 61328.2 | 0 
3  | 4510.2  | 3450  | 0 
4  | 0   | 0   | 0 
+0

。 –

答えて

1

ORDER BY句は次のようにGROUP_CONCAT内部の機能を使用する必要があります:あなたcreditIDは自然の中での増分である場合は、クエリから[並べ替えを削除することができます

SELECT GROUP_CONCAT(`cdlAmountA`+`cdlAmountB`+`cdlAmountC` 
        ORDER BY `creditID` SEPARATOR "|") 
FROM `creditlogs` 
WHERE `cdlDate` = "2016-04-07" AND compID = "AIR" 

Demo here

+0

ありがとうございました。 – ThunderBirdsX3

関連する問題