나는 한 달에 사용자 등록 수를 계산하는이 쉬운 쿼리를 가지고 있습니다.SQL 쿼리 : 월간 사용자 증가율 (%)
SELECT TO_CHAR(created_at, 'YYYY-MM') AS month, COUNT(user_id)
FROM users
GROUP BY month
ORDER BY month DESC
내가 원하는 것은 지난 달과 비교하여 매월 증가율을 백분율로 나타낸 것입니다.
나는 한 달에 사용자 등록 수를 계산하는이 쉬운 쿼리를 가지고 있습니다.SQL 쿼리 : 월간 사용자 증가율 (%)
SELECT TO_CHAR(created_at, 'YYYY-MM') AS month, COUNT(user_id)
FROM users
GROUP BY month
ORDER BY month DESC
내가 원하는 것은 지난 달과 비교하여 매월 증가율을 백분율로 나타낸 것입니다.
select
month, total,
(total::float/lag(total) over (order by month) - 1) * 100 growth
from (
select to_char(created_at, 'yyyy-mm') as month, count(user_id) total
from users
group by month
) s
order by month;
month | total | growth
---------+-------+------------------
2013-01 | 2 |
2013-02 | 3 | 50
2013-03 | 5 | 66.6666666666667
의 PostgreSQL 9.1.9 스키마 설정 : 1
create table users (created_at date, user_id int);
insert into users select '20130101', 1;
insert into users select '20130102', 2;
insert into users select '20130203', 3;
insert into users select '20130204', 4;
insert into users select '20130201', 5;
insert into users select '20130302', 6;
insert into users select '20130303', 7;
insert into users select '20130302', 8;
insert into users select '20130303', 9;
insert into users select '20130303', 10;
검색어 :
,449,Results :
| MONTH | USERCOUNT | GROWTH_PERCENTAGE |
-------------------------------------------
| 2013-01 | 2 | (null) |
| 2013-02 | 3 | 33.333333333333 |
| 2013-03 | 5 | 40 |
클로도 알도 맞아, 성장 비율은 (Fiddle2)
100.0 * UserCount
/lag(UserCount) over (order by month asc)
- 100
AS Growth_Percentage
계산하는 것은 _commercial margin_ 또는 _gross profit margin_입니다. 나는 OP가 요구 한 것이 아닌 것 같아요. 3이 2는 50 % 성장하지 않습니다 33.3 –
당신은 절대적으로 옳습니다! 이익 마진을 생각하고 있었어요. – RichardTheKiwi
고마워요! 나는 Clodoaldo Neto의 대답을 받아 들였습니다. 왜냐하면 그/그녀가 처음 이었기 때문입니다. 그러나 이것은 또한 올바른 답입니다. –
이 멋진 심각하여 계산해야한다! 고마워요! –