Mysql значения строк в виде столбцов с количеством (*)

0

У меня есть таблица с ниже структуры, и я пытаюсь использовать значения строк как столбцы с их значением как количеством вхождений.

|  date     |order|status|
-----+-----+----------------
| 2018-05-22|    1|  closed|
| 2018-05-22|    2|  closed|
| 2018-05-22|    3|  closed|
| 2018-05-22|    4|  open  | 
| 2018-05-22|    4|  open  | 

Выход:

|  date     |closed|open|
-----+-----+----------------
| 2018-05-22|   3  |  2|

Когда я использую следующий запрос, чтобы получить значение count (*), я получаю сообщение об ошибке... "Недействительное использование групповой функции"

select date,
  max(case when 'status' ='closed' then count(*) end) closed,
  max(case when 'status' = 'open' then count(*) end) open
from orders where date ='2018-05-22' group by date,status

Цените помощь, чтобы исправить это...

  • 0
    вы groub "статус", и это отсутствует в выборе
Теги:
reverse

1 ответ

0
Лучший ответ

Как насчет следующего?

select
  date,
  sum(case when 'status' ='closed' then 1 else 0 end) closed,
  sum(case when 'status' = 'open' then 1 else 0 end) open
from orders where date ='2018-05-22' group by date
  • 0
    вау .. большое спасибо. Отлично работает.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню