Использование результатов расчета двух сумм в одном запросе в процентах - PullRequest
0 голосов
/ 18 октября 2018

Есть аналогичный вопрос, но ничего бесполезного для меня.

Мне нужно получить уникальную таблицу в качестве выбора, где я могу найти 3 вычисляемых поля, два СУММЫ, а затем мне нужно рассчитать процент от них,Как я могу это сделать?

SELECT
pro_com,
(SUM(presence) FILTER(WHERE date_block = '2016-10-09 03:00:00')::integer AS date1,
(SUM(presence) FILTER(WHERE date_block = '2016-10-16 03:00:00')::integer AS date2,
(date1/date2*100)::integer AS percentage
FROM tab_presence
GROUP BY pro_com 

1 Ответ

0 голосов
/ 18 октября 2018

Вы можете вложить даты и рассчитать процент за скобками.

SELECT 
       pro_com, 
       date1, 
       date2, 
       ( date1 / date2 * 100 )::INTEGER AS percentage 
FROM   
 ( 
SELECT   
  pro_com, 
   SUM(presence) FILTER(WHERE date_block = '2016-10-09 03:00:00')::INTEGER AS date1, 
   SUM(presence) FILTER(WHERE date_block = '2016-10-16 03:00:00')::INTEGER AS date2     
  FROM  tab_presence 
 GROUP BY pro_com 
   ) s
...