2014-03-07 47 views
0

我有一個名爲表-B設定爲一個示例表如下:MySQL如何訂購Join和Group_Concat列?

+-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); 

結果爲$行[ 'priceID']是string(11) "001,003,024"

如何訂購在$行得到的字符串根據對processOrder列[「priceID」]?

我試圖返回$行[ 'priceID']爲string(11) "001,024,003"

回答

2

看一看GROUP_CONCAT syntax

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

可以設置訂購括號內。

+0

感謝@zealot。這工作完美。 –