MySQL:如何在group_concat中使用concat时进行排序?

时间:2016-06-21 10:28:25

标签: mysql sql group-concat

我需要在\\indate进行排序,而我的查询运行正常:

concat

enter image description here

3 个答案:

答案 0 :(得分:4)

您应该在group_concat中使用它,而不是concat

group_concat(
  concat('[', date(report.Date), ',', report.ProductPrice, ']') 
  order by date(report.Date) desc
)

答案 1 :(得分:0)

您试图将ORDER BY子句作为CONCAT()的参数提供,但不支持(主要是因为对单个值进行排序没有意义)。 GROUP_CONCAT()的签名显示您必须放置它们的位置:

GROUP_CONCAT([DISTINCT] expr [,expr ...]
             [ORDER BY {unsigned_integer | col_name | expr}
                 [ASC | DESC] [,col_name ...]]
             [SEPARATOR str_val])

答案 2 :(得分:0)

希望这会起作用

 SELECT report.`Name`,GROUP_CONCAT(CONCAT("[",DATE(report.Date) --(NOT working),',',report.ProductPrice --(NOT working)),"]") ORDER BY DATE(report.ProductPrice ) AS ProductPrice  
  FROM report
 GROUP BY report.Name ;