Количество в group_concat - PullRequest
       25

Количество в group_concat

0 голосов
/ 04 января 2019

У меня такая ситуация в таблице Mysql.

-----------------
code gr. state
-----------------
10  a   available
10  a   sold
10  b   available
10  a   available
10  a   sold
10  a   printed
10  b   available
10  b   sold
10  b   available
------------------

Мне нужно сгруппировать эти данные, чтобы группа получила что-то вроде

group a -> available(3), sold(2), printed(1)
group b -> available(2), sold(1), printed(0)

Я пытался объединить group_concat () и count (), но не смог получить нужный мне результат.

Моя цель состоит в том, чтобы в каждой группе было по одной строке (группа в порядке) Состояния всегда эти 3 (доступно, продано, напечатано)

спасибо за помощь

1 Ответ

0 голосов
/ 04 января 2019

СУММА с IF может дать вам правильный ответ.

SELECT gr, 
sum(if(state,'available',1,0)) available, 
sum(if(state,'sold',1,0)) sold,
sum(if(state,'printed',1,0)) printed
FROM table
GROUP BY gr
...