2013-05-16 7 views
3

У меня очень сложный запрос. Я не хочу начинать с нуля. Поэтому я вставляю здесь данные набора результатов, которые необходимо отформатировать на основе некоторых ограничений.Mysql Запрос на заказ

Мой запрос выглядит следующим образом ..

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

Проблема здесь мне нужно, чтобы получить последовательность исправлений, группируя звезду и транс, и принимая с послед в порядке возрастания order.but в результате, если мы наблюдаем мы видим, что существует проблема в порядке конкатенации.

Но заказ не сохраняется. Может ли кто-нибудь обнаружить, где я ошибаюсь? Спасибо заранее.

ответ

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]) 
+0

О, спасибо большое – user2341693

+0

приветствуются ':)' –

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; 
Смежные вопросы