เดเตเดฐเดพเดซเดพเดจ เดเดชเดฏเตเดเดฟเดเตเดเต เดชเตเดฐเตเดฎเตเดชเตพเดเตเดเต เดธเตเดตเดจเดคเตเดคเดฟเดฒเต เดเดชเดฏเตเดเตเดคเดพเดเตเดเดณเตเดเต เดเตเดเตเดเดเตเดเดณเต เดฆเตเดถเตเดฏเดตเตฝเดเตเดเดฐเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดชเตเดฐเดถเตเดจเด เดเดเตเดเตพ เดเดเตเดเดจเต เดชเดฐเดฟเดนเดฐเดฟเดเตเดเต.
เดเดฐเต เดธเตเตป เด
เดชเตเดชเต เดเตเดฏเตเดคเต เดเดจเตเดจเตเดจเตเดจเตเดเตเดเตเดฎเดพเดฏเดฟ "เดเดฑเดเตเดเดฟ". เดเดฐเต เด
เดตเดฐเตเดเต เดชเดพเดธเตโเดตเตเดกเต เดฎเดฑเดจเตเดจเต เดเดฑเต เดฎเดพเดธเดคเตเดคเดฟเดจเดฟเดเต เดฐเดฃเตเดเต เดคเดตเดฃ เดเตเดเดฟ เดฐเดเดฟเดธเตเดฑเตเดฑเตผ เดเตเดฏเตเดคเต. เดเดฐเต เดเตเดฏเดพเดทเต เดฐเดเดฟเดธเตเดฑเตเดฑเดฑเดฟเดฒเตเดเตเดเต เดชเดฃเด เดเตเดฃเตเดเตเดตเดฐเตเดจเตเดจเต, เดเดฐเดพเตพ เดธเตเดเดจเตเดฏเดฎเดพเดฏเดฟ เดตเดจเตเดจเต
เดจเดฎเตเดฎเตเดเตเดคเต เดชเตเดฒเตเดณเตเดณ เดตเดฒเดฟเดฏ เดกเดพเดฑเตเดฑเดพ เดธเตเดฑเตเดฑเตเดเดณเดฟเตฝ, เดเดฐเต เดตเตเดฏเดเตเดคเดฟเดเดค เดเดชเดฏเตเดเตเดคเดพเดตเดฟเดจเตเดฑเต เดชเตเดฐเตเดฎเดพเดฑเตเดฑเด เดตเดฟเดถเดเดฒเดจเด เดเตเดฏเตเดฏเตเดเดฏเตเด เดธเตเดเตเดทเตเดฎเดฎเดพเดฏ เดคเตเดฐเตเดฎเดพเดจเดเตเดเตพ เดเดเตเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเดคเต เด เตผเดคเตเดฅเดถเตเดจเตเดฏเดฎเดพเดฃเต. เดเดจเตเดจเดพเตฝ เดเตเดฐเตเตปเดกเตเดเตพ เดชเดฟเดเดฟเดเตเดเตเดเตเดเตเดเตเดจเตเดจเดคเตเด เดตเดฒเดฟเดฏ เดเตเดฐเตเดชเตเดชเตเดเดณเตเดฎเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเดคเตเด เดธเดพเดงเตเดฏเดฎเดพเดฃเต. เดเดเตเดเตพ เดเตเดคเตเดฏเดฎเดพเดฏเดฟ เดเดจเตเดคเดพเดฃเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเต.
เดธเดเดเตเดฐเดนเด
- เดเดจเตเดคเดพเดฃเต เดเตเดนเตเตผเดเตเดเต เดตเดฟเดถเดเดฒเดจเด, เดเดจเตเดคเตเดเตเดฃเตเดเต เด เดคเต เดเดตเดถเตเดฏเดฎเดพเดฃเต?
- SQL-เตฝ เดเดชเดฏเตเดเตเดคเต เดฐเดเดฟเดธเตเดเตเดฐเตเดทเตป เดฎเดพเดธเดคเตเดคเดฟเตฝ เดเดเตเดเดจเต เดเตเดนเตเตผเดเตเดเตเดเตพ เดเดฃเตเดเดพเดเตเดเดพเด.
- เดเดคเดฟเดฒเตเดเตเดเต เดเตเดนเตเตผเดเตเดเตเดเดณเต เดเดเตเดเดจเต เดเตเดฎเดพเดฑเดพเด
เดเตเดฐเดพเดซเดพเดจ .
เดเตเดนเตเตผเดเตเดเต เดตเดฟเดถเดเดฒเดจเด เดเดจเตเดคเดพเดฃเตเดจเตเดจเตเด เด เดคเต SQL-เตฝ เดเดเตเดเดจเต เดเตเดฏเตเดฏเดพเดฎเตเดจเตเดจเตเด เดจเดฟเดเตเดเตพเดเตเดเต เดเดคเดฟเดจเดเด เด เดฑเดฟเดฏเดพเดฎเตเดเตเดเดฟเตฝ, เด เดตเดธเดพเดจ เดญเดพเดเดคเตเดคเตเดเตเดเต เดชเตเดเตเด.
1. เดเดจเตเดคเดพเดฃเต เดเตเดนเตเตผเดเตเดเต เดตเดฟเดถเดเดฒเดจเด, เดเดจเตเดคเตเดเตเดฃเตเดเต เด เดคเต เดเดตเดถเตเดฏเดฎเดพเดฃเต?
เดเตเดนเตเตผเดเตเดเต เดตเดฟเดถเดเดฒเดจเด เดเดจเตเดจเดคเต เดเดชเดฏเตเดเตเดคเดพเดเตเดเดณเตเดเต เดตเตเดฏเดคเตเดฏเดธเตเดค เดเตเดฐเตเดชเตเดชเตเดเดณเต (เดเตเดนเตเตผเดเตเดเตเดเตพ) เดคเดพเดฐเดคเดฎเตเดฏเด เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต เด เดเดฟเดธเตเดฅเดพเดจเดฎเดพเดเตเดเดฟเดฏเตเดณเตเดณ เดเดฐเต เดฐเตเดคเดฟเดฏเดพเดฃเต. เดฎเดฟเดเตเดเดชเตเดชเตเดดเตเด, เดเดชเดฏเตเดเตเดคเดพเดตเต เดธเตเดตเดจเด เดเดชเดฏเตเดเดฟเดเตเดเดพเตป เดคเตเดเดเตเดเดฟเดฏ เดเดดเตโเดเดฏเต เดฎเดพเดธเดฎเต เด เดจเตเดธเดฐเดฟเดเตเดเดพเดฃเต เดเดเตเดเดณเตเดเต เดเตเดฐเตเดชเตเดชเตเดเตพ เดฐเตเดชเดชเตเดชเตเดเตเดจเตเดจเดคเต. เดเดตเดฟเดเต เดจเดฟเดจเตเดจเต เดเดชเดฏเตเดเตเดคเดพเดตเดฟเดจเตเดฑเต เดเดฏเตเดธเตเดธเต เดเดฃเดเตเดเดพเดเตเดเตเดจเตเดจเต, เดเดคเต เดธเดเตเดเตเตผเดฃเตเดฃเดฎเดพเดฏ เดเดฐเต เดตเดฟเดถเดเดฒเดจเด เดจเดเดคเตเดคเดพเตป เดเดดเดฟเดฏเตเดจเตเดจ เดเดฐเต เดธเตเดเดเดฎเดพเดฃเต. เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดฎเดจเดธเตเดธเดฟเดฒเดพเดเตเดเตเด:
- เดเดเตเดเดจเต เดเดฑเตเดฑเตเดเตเดเตเดเตฝ เดเดพเดจเตฝ เดเดชเดฏเตเดเตเดคเดพเดตเดฟเดจเตเดฑเต เดเตเดตเดฟเดคเดคเตเดคเต เดธเตเดตเดพเดงเตเดจเดฟเดเตเดเตเดจเตเดจเต;
- เดเดคเตเดเตเดเดฟเดฒเตเด เดซเตเดเตเดเดฑเดฟเดจเตเดฑเตเดฏเต เดธเตเดตเดจเดคเตเดคเดฟเดจเตเดฑเตเดฏเต เดเดชเดฏเตเดเด เดเตเดตเดฟเดคเดคเตเดคเต เดเดเตเดเดจเต เดฌเดพเดงเดฟเดเตเดเตเดจเตเดจเต;
- เดซเตเดเตเดเตผ เดเดเตโเดธเดฟเดจเตเดฑเต เดฒเตเดเตเดเต เดเดดเดฟเดเตเด เดตเตผเดทเดคเตเดคเต เด เดชเตเดเตเดทเดฟเดเตเดเต เดเตเดตเดฟเดคเดเดพเดฒเดคเตเดคเต เดเดเตเดเดจเต เดฌเดพเดงเดฟเดเตเดเต.
2. SQL-เตฝ เดเตเดนเตเตผเดเตเดเตเดเตพ เดเดเตเดเดจเต เดเดฃเตเดเดพเดเตเดเดพเด?
เดฒเตเดเดจเดคเตเดคเดฟเดจเตเดฑเต เดตเดฒเตเดชเตเดชเดตเตเด เดธเดพเดฎเดพเดจเตเดฏเดฌเตเดฆเตเดงเดฟเดฏเตเด เดเดเตเดเดณเตเดเต เดฏเดฅเดพเตผเดคเตเดฅ เดกเดพเดฑเตเดฑ เดเดตเดฟเดเต เด เดตเดคเดฐเดฟเดชเตเดชเดฟเดเตเดเดพเตป เดเดเตเดเดณเต เด เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจเดฟเดฒเตเดฒ - เดเตเดธเตเดฑเตเดฑเต เดกเดฎเตเดชเดฟเตฝ, เดเดจเตเดจเดฐ เดตเตผเดทเดคเตเดคเต เดธเตเดฅเดฟเดคเดฟเดตเดฟเดตเดฐเดเตเดเดฃเดเตเดเตเดเตพ: 1200 เดเดชเดฏเตเดเตเดคเดพเดเตเดเดณเตเด 53 เดเดเดชเดพเดเตเดเดณเตเด. เดจเดฟเดเตเดเตพเดเตเดเต เด เดกเดพเดฑเตเดฑ เดเดชเดฏเตเดเดฟเดเตเดเต เดเดณเดฟเดเตเดเดพเตป เดเดดเดฟเดฏเตเดจเตเดจ เดคเดฐเดคเตเดคเดฟเตฝ, MySQL, Grafana เดเดจเตเดจเดฟเดต เดเดชเดฏเตเดเดฟเดเตเดเต เดเดเตเดเตพ เดเดฐเต เดกเตเดเตเดเตผ เดเดฎเตเดเต เดคเดฏเตเดฏเดพเดฑเดพเดเตเดเดฟเดฏเดฟเดเตเดเตเดฃเตเดเต, เด เดคเดฟเตฝ เดจเดฟเดเตเดเตพเดเตเดเต เดเดฒเตเดฒเดพเด เด เดจเตเดญเดตเดฟเดเตเดเดพเดจเดพเดเตเด. เดฒเตเดเดจเดคเตเดคเดฟเดจเตเดฑเต เด เดตเดธเดพเดจเด GitHub-เดฒเตเดเตเดเตเดณเตเดณ เดฒเดฟเดเตเดเต.
เดฒเดณเดฟเดคเดฎเดพเดฏ เดเดฐเต เดเดฆเดพเดนเดฐเดฃเด เดเดชเดฏเตเดเดฟเดเตเดเต เดเตเดนเตเตผเดเตเดเตเดเดณเตเดเต เดธเตเดทเตเดเดฟ เดเดเตเดเตพ เดเดตเดฟเดเต เดเดพเดฃเดฟเดเตเดเตเด.
เดจเดฎเตเดเตเดเต เดเดฐเต เดธเตเดตเดจเด เดเดฃเตเดเตเดจเตเดจเต เดเดฐเตเดคเตเด. เดเดชเดฏเตเดเตเดคเดพเดเตเดเตพ เด เดตเดฟเดเต เดฐเดเดฟเดธเตเดฑเตเดฑเตผ เดเตเดฏเตเดฏเตเดเดฏเตเด เดธเตเดตเดจเดเตเดเตพเดเตเดเดพเดฏเดฟ เดชเดฃเด เดเตเดฒเดตเดดเดฟเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเต. เดเดพเดฒเดเตเดฐเดฎเตเดฃ, เดเดชเดฏเตเดเตเดคเดพเดเตเดเตพ เดเดชเตเดเตเดทเดฟเดเตเดเตเดจเตเดจเต. เดเดชเดฏเตเดเตเดคเดพเดเตเดเตพ เดเดคเตเดฐ เดเดพเดฒเด เดเตเดตเดฟเดเตเดเตเดจเตเดจเตเดตเตเดจเตเดจเตเด เด เดตเดฐเดฟเตฝ เดเดคเตเดฐ เดชเตเตผ เดธเตเดตเดจเด เดเดชเดฏเตเดเดฟเดเตเดเดคเดฟเดจเตเดฑเต 1-เดเด 2-เดพเด เดฎเดพเดธเดคเตเดคเดฟเดจเตเด เดถเตเดทเด เดตเตเดดเตเดคเตเดคเดชเตเดชเตเดเตเดจเตเดจเดตเดฐเดพเดฃเตเดจเตเดจเตเด เดเดฃเตเดเตเดคเตเดคเดพเตป เดเดเตเดเตพ เดเดเตเดฐเดนเดฟเดเตเดเตเดจเตเดจเต.
เด เดเตเดฆเตเดฏเดเตเดเตพเดเตเดเต เดเดคเตเดคเดฐเด เดจเตฝเดเดพเตป, เดฐเดเดฟเดธเตเดเตเดฐเตเดทเตป เดฎเดพเดธเดคเตเดคเต เด เดเดฟเดธเตเดฅเดพเดจเดฎเดพเดเตเดเดฟ เดเดเตเดเตพ เดเตเดนเตเตผเดเตเดเตเดเตพ เดจเดฟเตผเดฎเตเดฎเดฟเดเตเดเตเดฃเตเดเดคเตเดฃเตเดเต. เดเดฐเต เดฎเดพเดธเดคเตเดคเตเดฏเตเด เดเตเดฒเดตเตเดเตพ เด เดจเตเดธเดฐเดฟเดเตเดเต เดเดเตเดเตพ เดชเตเดฐเดตเตผเดคเตเดคเดจเด เด เดณเดเตเดเตเด. เดเตเดฒเดตเตเดเตพเดเตเดเต เดชเดเดฐเด, เดเตผเดกเดฑเตเดเตพ, เดธเดฌเตโเดธเตโเดเตเดฐเดฟเดชเตโเดทเตป เดซเตเดธเต เด เดฒเตเดฒเตเดเตเดเดฟเตฝ เดฎเดฑเตเดฑเตเดคเตเดเตเดเดฟเดฒเตเด เดธเดฎเดฏเดพเดงเดฟเดทเตโเด เดฟเดค เดชเตเดฐเดตเตผเดคเตเดคเดจเด เดเดจเตเดจเดฟเดต เดเดฃเตเดเดพเดฏเดฟเดฐเดฟเดเตเดเดพเด.
เดฑเต เดกเดพเดฑเตเดฑ
เดเดฆเดพเดนเดฐเดฃเดเตเดเตพ MySQL-เดฒเดพเดฃเต เดจเดฟเตผเดฎเตเดฎเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเดคเต, เดเดจเตเดจเดพเตฝ เดฎเดฑเตเดฑเต DBMS-เดเตพเดเตเดเต เดเดพเดฐเตเดฏเดฎเดพเดฏ เดตเตเดฏเดคเตเดฏเดพเดธเดเตเดเดณเตเดจเตเดจเตเด เดเดฃเตเดเดพเดเดฐเตเดคเต.
เดเดชเดฏเตเดเตเดคเต เดชเดเตเดเดฟเด - เดเดชเดฏเตเดเตเดคเดพเดเตเดเตพ:
เดฏเตเดธเตผ เดเดกเดฟ
เดฐเดเดฟเดธเตเดเตเดฐเตเดทเตป เดคเตเดฏเดคเดฟ
1
2019-01-01
2
2019-02-01
3
2019-02-10
4
2019-03-01
เดเตเดฒเดตเต เดชเดเตเดเดฟเด - เดฌเดฟเดฒเตเดฒเดฟเดเดเต:
เดฏเตเดธเตผ เดเดกเดฟ
เดคเตเดฏเดคเดฟ
เดคเตเด
1
2019-01-02
11
1
2019-02-22
11
2
2019-02-12
12
3
2019-02-11
13
3
2019-03-11
13
4
2019-03-01
14
4
2019-03-02
14
เดเดฒเตเดฒเดพ เดเดชเดฏเตเดเตเดคเต เดฑเตเดฑเตเดฑเต-เดเดซเตเดเดณเตเด เดฐเดเดฟเดธเตเดเตเดฐเตเดทเตป เดคเตเดฏเดคเดฟเดฏเตเด เดคเดฟเดฐเดเตเดเตเดเตเดเตเดเตเด:
SELECT
b.userId,
b.Date,
u.RegistrationDate
FROM billing AS b LEFT JOIN users AS u ON b.userId = u.userId
เดซเดฒเด:
เดฏเตเดธเตผ เดเดกเดฟ
เดคเตเดฏเดคเดฟ
เดฐเดเดฟเดธเตเดเตเดฐเตเดทเตป เดคเตเดฏเดคเดฟ
1
2019-01-02
2019-01-02
1
2019-02-22
2019-01-02
2
2019-02-12
2019-02-01
3
2019-02-11
2019-02-10
3
2019-03-11
2019-02-10
4
2019-03-01
2019-03-01
4
2019-03-02
2019-03-01
เดเดเตเดเตพ เดฎเดพเดธเด เดคเตเดฑเตเด เดเตเดเตเดเตเดเตเดเตเดเตเดเตพ เดจเดฟเตผเดฎเตเดฎเดฟเดเตเดเตเดจเตเดจเต; เดเดคเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, เดเดเตเดเตพ เดเดฒเตเดฒเดพ เดคเตเดฏเดคเดฟเดเดณเตเด เดฎเดพเดธเดเตเดเดณเดพเดเตเดเดฟ เดฎเดพเดฑเตเดฑเตเดจเตเดจเต:
DATE_FORMAT(Date, '%Y-%m')
เดเดชเดฏเตเดเตเดคเดพเดตเต เดเดคเตเดฐ เดฎเดพเดธเด เดธเดเตเดตเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเตเดตเตเดจเตเดจเต เดเดชเตเดชเตเตพ เดจเดฎเตเดเตเดเต เด เดฑเดฟเดฏเตเดฃเตเดเดคเตเดฃเตเดเต - เดกเตเดฌเดฟเดฑเตเดฑเต เดฎเดพเดธเดตเตเด เดฐเดเดฟเดธเตเดเตเดฐเตเดทเตป เดฎเดพเดธเดตเตเด เดคเดฎเตเดฎเดฟเดฒเตเดณเตเดณ เดตเตเดฏเดคเตเดฏเดพเดธเดฎเดพเดฃเดฟเดคเต. MySQL-เดจเต เดเดฐเต เดซเดเดเตโเดทเตป PERIOD_DIFF() เดเดฃเตเดเต - เดฐเดฃเตเดเต เดฎเดพเดธเดเตเดเตพ เดคเดฎเตเดฎเดฟเดฒเตเดณเตเดณ เดตเตเดฏเดคเตเดฏเดพเดธเด. เด เดญเตเดฏเตผเดคเตเดฅเดจเดฏเดฟเดฒเตเดเตเดเต PERIOD_DIFF() เดเตเตผเดเตเดเตเด:
SELECT
b.userId,
DATE_FORMAT(b.Date, '%Y-%m') AS BillingMonth,
DATE_FORMAT(u.RegistrationDate, '%Y-%m') AS RegistrationMonth,
PERIOD_DIFF(DATE_FORMAT(b.Date, '%Y%m'), DATE_FORMAT(u.RegistrationDate, '%Y%m')) AS MonthsDiff
FROM billing AS b LEFT JOIN users AS u ON b.userId = u.userId
เดฏเตเดธเตผ เดเดกเดฟ
เดฌเดฟเดฒเตเดฒเดฟเดเดเต เดฎเดพเดธเด
เดฐเดเดฟเดธเตเดเตเดฐเตเดทเตป เดคเตเดฏเดคเดฟ
เดฎเดพเดธเดเตเดเตพ เดกเดฟเดซเต
1
2019-01
2019-01
0
1
2019-02
2019-01
1
2
2019-02
2019-02
0
3
2019-02
2019-02
0
3
2019-03
2019-02
1
4
2019-03
2019-03
0
4
2019-03
2019-03
0
เดเดฐเต เดฎเดพเดธเดตเตเด เดธเดเตเดตเดฎเดพเดเตเดเดฟเดฏ เดเดชเดฏเตเดเตเดคเดพเดเตเดเดณเต เดเดเตเดเตพ เดเดฃเดเตเดเดพเดเตเดเตเดจเตเดจเต - BillingMonth, RegistrationMonth, MonthsDiff เดเดจเตเดจเดฟเดต เดชเตเดฐเดเดพเดฐเด เดเดเตเดเตพ เดฑเตเดเตเดเตเตผเดกเตเดเตพ เดเตเดฐเตเดชเตเดชเตเดเตเดฏเตเดฏเตเดจเตเดจเต:
SELECT
COUNT(DISTINCT(b.userId)) AS UsersCount,
DATE_FORMAT(b.Date, '%Y-%m') AS BillingMonth,
DATE_FORMAT(u.RegistrationDate, '%Y-%m') AS RegistrationMonth,
PERIOD_DIFF(DATE_FORMAT(b.Date, '%Y%m'), DATE_FORMAT(u.RegistrationDate, '%Y%m')) AS MonthsDiff
FROM billing AS b LEFT JOIN users AS u ON b.userId = u.userId
GROUP BY BillingMonth, RegistrationMonth, MonthsDiff
เดซเดฒเด:
เดเดชเดฏเตเดเตเดคเดพเดเตเดเดณเตเดเต เดเดฃเตเดฃเด
เดฌเดฟเดฒเตเดฒเดฟเดเดเต เดฎเดพเดธเด
เดฐเดเดฟเดธเตเดเตเดฐเตเดทเตป เดฎเดพเดธเด
เดฎเดพเดธเดเตเดเตพ เดกเดฟเดซเต
1
2019-01
2019-01
0
1
2019-02
2019-01
1
2
2019-02
2019-02
0
1
2019-03
2019-02
1
1
2019-03
2019-03
0
เดเดจเตเดตเดฐเดฟ, เดซเตเดฌเตเดฐเตเดตเดฐเดฟ, เดฎเดพเตผเดเตเดเต เดฎเดพเดธเดเตเดเดณเดฟเตฝ เดเดฐเต เดชเตเดคเดฟเดฏ เดเดชเดฏเตเดเตเดคเดพเดตเตเด เดชเตเดฐเดคเตเดฏเดเตเดทเดชเตเดชเตเดเตเดเต - MonthsDiff = 0. เดเดฐเต เดเดจเตเดตเดฐเดฟ เดเดชเดฏเตเดเตเดคเดพเดตเต เดซเตเดฌเตเดฐเตเดตเดฐเดฟเดฏเดฟเตฝ เดธเดเตเดตเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเต - RegistrationMonth = 2019-01, BillingMonth = 2019-02, เดเดฐเต เดซเตเดฌเตเดฐเตเดตเดฐเดฟ เดเดชเดฏเตเดเตเดคเดพเดตเต เดฎเดพเตผเดเตเดเดฟเตฝ เดธเดเตเดตเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเต.
เดธเตเดตเดพเดญเดพเดตเดฟเดเดฎเดพเดฏเตเด, เดเดฐเต เดตเดฒเดฟเดฏ เดกเดพเดฑเตเดฑเดพ เดธเตเดฑเตเดฑเดฟเตฝ เดชเดพเดฑเตเดฑเตเดฃเตเดเตพ เดจเดจเตเดจเดพเดฏเดฟ เดฆเตเดถเตเดฏเดฎเดพเดเตเด.
เดเตเดนเตเตผเดเตเดเตเดเดณเต เดเตเดฐเดพเดซเดพเดจเดฏเดฟเดฒเตเดเตเดเต เดเดเตเดเดจเต เดเตเดฎเดพเดฑเดพเด
เดเตเดนเตเตผเดเตเดเตเดเตพ เดเดเตเดเดจเต เดฐเตเดชเตเดเดฐเดฟเดเตเดเดพเดฎเตเดจเตเดจเต เดเดเตเดเตพ เดชเด เดฟเดเตเดเต, เดเดจเตเดจเดพเตฝ เดงเดพเดฐเดพเดณเด เดฑเตเดเตเดเตเตผเดกเตเดเตพ เดเดณเตเดณเดชเตเดชเตเตพ, เด เดต เดตเดฟเดถเดเดฒเดจเด เดเตเดฏเตเดฏเตเดจเตเดจเดคเต เดเดณเตเดชเตเดชเดฎเดฒเตเดฒ. เดฑเตเดเตเดเตเตผเดกเตเดเตพ Excel-เดฒเตเดเตเดเต เดเดฏเดฑเตเดฑเตเดฎเดคเดฟ เดเตเดฏเตเดฏเดพเดจเตเด เดฎเดจเตเดนเดฐเดฎเดพเดฏ เดชเดเตเดเดฟเดเดเดณเดพเดเตเดเดฟ เดฎเดพเดฑเตเดฑเดพเดจเตเด เดเดดเดฟเดฏเตเด, เดเดจเตเดจเดพเตฝ เดเดคเต เดเดเตเดเดณเตเดเต เดฐเตเดคเดฟเดฏเดฒเตเดฒ!
เดเตปเดฑเดฑเดพเดเตเดฑเตเดฑเตเดตเต เดเตเดฐเดพเดซเดพเดฏเดฟ เดเตเดนเตเตผเดเตเดเตเดเดณเต เดเดพเดฃเดฟเดเตเดเดพเด
เดเดคเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, เดเตเดฐเดพเดซเดพเดจเดฏเตเดเตเดเต เด เดจเตเดฏเตเดเตเดฏเดฎเดพเดฏ เดเดฐเต เดซเตเตผเดฎเดพเดฑเตเดฑเดฟเดฒเตเดเตเดเต เดกเดพเดฑเตเดฑ เดชเดฐเดฟเดตเตผเดคเตเดคเดจเด เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต เดเดเตเดเตพ เดฎเดฑเตเดฑเตเดฐเต เดเตเดฆเตเดฏเด เดเตเตผเดเตเดเตเดจเตเดจเต:
SELECT
DATE_ADD(CONCAT(s.RegistrationMonth, '-01'), INTERVAL s.MonthsDiff MONTH) AS time_sec,
SUM(s.Users) AS value,
s.RegistrationMonth AS metric
FROM (
## ััะฐััะน ะทะฐะฟัะพั, ะฒะพะทะฒัะฐัะฐััะธะน ะบะพะณะพััั
SELECT
COUNT(DISTINCT(b.userId)) AS Users,
DATE_FORMAT(b.Date, '%Y-%m') AS BillingMonth,
DATE_FORMAT(u.RegistrationDate, '%Y-%m') AS RegistrationMonth,
PERIOD_DIFF(DATE_FORMAT(b.Date, '%Y%m'), DATE_FORMAT(u.RegistrationDate, '%Y%m')) AS MonthsDiff
FROM billing AS b LEFT JOIN users AS u ON b.userId = u.userId
WHERE
u.RegistrationDate BETWEEN '2018-01-01' AND CURRENT_DATE
GROUP BY
BillingMonth, RegistrationMonth, MonthsDiff
) AS s
GROUP BY
time_sec, metric
เดเตเดเดพเดคเต เดเตเดฐเดพเดซเดพเดจเดฏเดฟเดฒเตเดเตเดเต เดกเดพเดฑเตเดฑ เด เดชเตโเดฒเตเดกเต เดเตเดฏเตเดฏเตเด.
เดจเดฟเดจเตเดจเตเดณเตเดณ เดเดฆเดพเดนเดฐเดฃ เดเตเดฐเดพเดซเต
เดจเดฟเดเตเดเดณเตเดเต เดเตเดเตเดฃเตเดเต เดธเตเดชเตผเดถเดฟเดเตเดเตเด:
เดจเดฟเดเตเดเตพเดเตเดเต เดตเตเดฃเดฎเตเดเตเดเดฟเตฝ, เด เดเดฟเดคเตเดฐเดคเตเดคเดฟเดฒเตเดเตเดเต เดจเดฟเดเตเดเดณเตเดเต เดกเดพเดฑเตเดฑ เดฒเตเดกเต เดเตเดฏเตเดฏเดพเด.
SQL-เดฒเต เดเตเดนเตเตผเดเตเดเต เดตเดฟเดถเดเดฒเดจเดคเตเดคเตเดเตเดเตเดฑเดฟเดเตเดเตเดณเตเดณ PS เดฒเตเดเดจเดเตเดเตพ:
เด เดตเดฒเดเดฌเด: www.habr.com