【问题标题】:MySQL How to order a Joined and Group_Concat column?MySQL 如何订购 Joined 和 Group_Concat 列?
【发布时间】:2014-04-10 01:00:41
【问题描述】:

我有一个名为 table_B 的表,其样本集如下:

+-serviceID-+-priceID-+-processOrder-+
|    001    |   003   |      03      |
+-----------+---------+--------------+
|    001    |   024   |      02      |        
+-----------+---------+--------------+
|    001    |   001   |      01      |        
+-----------+---------+--------------+

这是我的查询语句:

$query_string = '
  SELECT services.*, GROUP_CONCAT(prices.priceID) AS priceID
  FROM table_A AS services
  INNER JOIN table_B AS prices ON services.serviceID = prices.serviceID
  WHERE services.serviceID = "' . $serviceID . '"
  GROUP BY prices.serviceID
  LIMIT 1
';
$result = mysqli_query($link, $query_string);

$row['priceID'] 的结果是string(11) "001,003,024"

如何根据 processOrder 列对 $row['priceID'] 中的结果字符串进行排序?

我正在尝试将 $row['priceID'] 返回为 string(11) "001,024,003"

【问题讨论】:

    标签: mysql sql-order-by group-concat


    【解决方案1】:

    看看GROUP_CONCAT syntax:

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

    您可以在括号内设置排序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-11-03
      • 1970-01-01
      • 2014-08-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-26
      • 1970-01-01
      相关资源
      最近更新 更多