MySQL выбрать счетчик из разных столбцов, используя также группировать по - PullRequest
0 голосов
/ 30 сентября 2019

enter image description here

Эта таблица называется задачами. Я хочу получить общее количество заданий для каждого assign_date и на эту дату, сколько завершенных заданий по complete_date для пользователя.

Я хочу что-то вроде ниже

    [{
      user_id:1 ,
      assign_date / compete_date : 2019-09-04,
     assign_task : 2,
    complete_task: 1
    },
{
      user_id:1 ,
      assign_date / compete_date : 2019-09-19,
     assign_task : 1,
    complete_task: 2
    }
]

Ответы [ 2 ]

1 голос
/ 30 сентября 2019

Вот ваш запрос. использование union all приведет к подсчету как назначенных, так и полных дат

select user_id
    , complete_date as [assign_date / compete_date]
    , sum(case when t1.s = 'assigned' then 1 else 0 end) as assign_task
    , sum(case when t1.s = 'complete' then 1 else 0 end) as complete_task
from
    (select user_Id, complete_date, 'complete' as s from task 
    union all
    select user_Id, assign_date, 'assigned' as s from task) t1
group by t1.complete_date, t1.user_id
0 голосов
/ 30 сентября 2019

Вы можете попробовать ниже -

select user_id,date, count(assign_date) assign_task,count(compete_date) complete_task
from tablename
group by user_id,date
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...