Можно ли группировать по после объединения и заказать по? - PullRequest
0 голосов
/ 13 декабря 2018

Я просто пытаюсь сгруппировать по идентификатору задания, а порядок по заданию - после объединения.Возможно ли это, если бы мне просто нужно было выяснить это в моем коде?

  select job_id, job_status, avg_rec_time_millis from (select  
                job.job_id, 
                job.job_status,
                job_step.avg_rec_time_millis
                from job
                right outer join job_step on job.job_id= job_step.job_id)
    WHERE job_status = 'Extracted'
    Order by job_id;

Ответы [ 2 ]

0 голосов
/ 13 декабря 2018

Без некоторых примеров может быть трудно ответить на этот вопрос, но, насколько я понимаю ваш случай, я бы попробовал:

select j.job_id, j.job_status, sum(s.avg_rec_time_millis) as sum_rec_time_millis
  from job j
 inner join job_step s on j.job_id = s.job_id
 where j.job_status = 'Extracted'
 group by j.job_id, j.job_status
 order by j.job_id;
0 голосов
/ 13 декабря 2018

Вы должны сгруппировать до ORDER BY, как в:

select job_id, sum(job_status), sum(avg_rec_time_millis) from (select  
            job.job_id, 
            job.job_status,
            job_step.avg_rec_time_millis
            from job
            right outer join job_step on job.job_id= job_step.job_id)
WHERE job_status = 'Extracted'
GROUP BY job_id
Order by job_id;

Также вам нужно будет "агрегировать" другие столбцы, которых нет в предложении GROUP BY.Подойдет любая функция агрегирования: min, max, sum, avg и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...