2016-01-06 94 views
0

我有這個查詢,它可以很好地工作,但是CONCAT_GROUP()的結果比我想要的要好。CONCAT_GROUP()繞過

查詢:

SELECT GROUP_CONCAT(parent.place_name) AS place_name 
    FROM address AS node, 
     address AS parent 
    WHERE node.lft BETWEEN parent.lft AND parent.rgt 
    GROUP BY node.id 
    ORDER BY node.lft" 

address表:

------------------------------------ 
id | place_name | lft | rgt 
~----------------------------------- 
1 | A   | 1 | 4 
~----------------------------------- 
2 | B   | 2 | 3 
~----------------------------------- 

place_name結果將是:

A

A, B

但我需要它是:

A

B, A

我試着用ORDER玩,但我沒能得到它的權利。你能幫我嗎?

回答

0

參見在this link

SELECT GROUP_CONCAT(DISTINCT parent.place_name ORDER BY parent.lft DESC SEPARATOR ',') AS place_name 
    FROM address AS node, 
     address AS parent 
    WHERE node.lft BETWEEN parent.lft AND parent.rgt 
    GROUP BY node.id 
的第三示例