MYSQL - использовать группировку по с заказом по с объединениями - PullRequest
0 голосов
/ 09 мая 2019

В настоящее время у меня есть запрос, как показано ниже, чтобы получить счетчики на основе групп, как показано ниже, но у меня возникла проблема с выполнением заказа по группам при использовании левого объединения.

Я пробовал ниже, но он не выполняет Order By на основании статуса

SQL Fiddle : http://sqlfiddle.com/#!9/3a4594/1/0

SELECT * FROM (SELECT t.Status, COUNT(*) AS 'Count' FROM Processess P LEFT JOIN Tasks T ON P.TaskId = T.TaskId GROUP BY t.Status) x ORDER BY x.Status ASC;

Это дает мне результат как

Status  | Count
----------
OPEN | 10
----------
DONE | 20
----------

Но я хотел как

Status  | Count
----------
DONE| 20
----------
OPEN| 10
----------

Ответы [ 2 ]

0 голосов
/ 09 мая 2019

Я наконец нашел причину, потому что Order By не работал из-за типа файла ENUM

Следовательно, наконец-то ниже Query работал для меня

SELECT * FROM (SELECT t.Status, COUNT(*) AS 'Count' FROM Processess P LEFT JOIN Tasks T ON P.TaskId = T.TaskId GROUP BY t.Status) x ORDER BY CAST(x.Status AS CHAR) ASC;

0 голосов
/ 09 мая 2019

Попробуйте ниже -

SELECT t.Status, COUNT(*) AS cnt
    FROM
        Processess P
    LEFT JOIN Tasks T ON P.TaskId = T.TaskId
    GROUP BY t.Status order by t.Status
...