Mysql查询顺序依次为

时间:2013-05-16 08:53:42

标签: mysql sql

我有一个非常复杂的查询。我不想从头开始。所以我在这里粘贴一个结果集数据,需要根据一些约束进行格式化。

我的查询如下..

SELECT
  GROUP_CONCAT(fix_seq SEPARATOR '-') AS fix_seq,
  apt,
  star,
  trans,
  fix
FROM
  tabe
GROUP BY
  star, trans
ORDER BY
  seq;

这里的问题是我需要通过对星和变换进行分组并按升序取seq来获得修复序列。但是如果我们观察到结果,我们可以看到串联顺序存在问题。 / p>

但订单并没有保留。任何人都可以发现我哪里出错了?先谢谢。

2 个答案:

答案 0 :(得分:4)

在函数中添加ORDER BY子句,

GROUP_CONCAT(fix_seq ORDER BY seq SEPARATOR '-')

基本语法:

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

答案 1 :(得分:0)

使用ORDER BY语句,

GROUP_CONCAT(fix_seq ORDER BY seq SEPARATOR '-')
AS fix_seq,apt,star,trans,fix 
from tabe
group by star,trans
order by seq;