{"id":302989,"date":"2020-05-04T15:00:19","date_gmt":"2020-05-04T15:00:19","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=302989"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=302989","title":{"rendered":"\u041b\u0443\u0447\u0448\u0438\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u0441\u0440\u0435\u0434\u043d\u0435\u0439 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043f\u043e SQL \u043d\u0430 \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0438 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445"},"content":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\" data-io-article-url=\"https:\/\/habr.com\/ru\/company\/dcmiran\/blog\/500360\/\"><i>\u041f\u0435\u0440\u0432\u044b\u0435 70% \u043a\u0443\u0440\u0441\u0430 \u043f\u043e SQL \u043a\u0430\u0436\u0443\u0442\u0441\u044f \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u044b\u043c\u0438. \u0421\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0442\u0441\u044f \u043d\u0430 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 30%.<\/i><\/p>\n<p>  \u0421 2015 \u043f\u043e 2019 \u0433\u043e\u0434\u044b \u044f \u043f\u0440\u043e\u0448\u0451\u043b \u0447\u0435\u0442\u044b\u0440\u0435 \u0446\u0438\u043a\u043b\u0430 \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0439 \u043d\u0430 \u0434\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u0430 \u043f\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0431\u043e\u043b\u0435\u0435 \u0447\u0435\u043c \u0434\u0435\u0441\u044f\u0442\u043a\u0435 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0439. \u041f\u043e\u0441\u043b\u0435 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0433\u043e \u043d\u0435\u0443\u0434\u0430\u0447\u043d\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0432\u044c\u044e \u0432 2017 \u0433\u043e\u0434\u0443\u00a0\u2014 \u043a\u043e\u0433\u0434\u0430 \u044f \u0437\u0430\u043f\u0443\u0442\u0430\u043b\u0441\u044f \u0432 \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0432\u043e\u043f\u0440\u043e\u0441\u0430\u0445 \u043f\u043e SQL\u00a0\u2014 \u044f \u043d\u0430\u0447\u0430\u043b \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0437\u0430\u0434\u0430\u0447\u043d\u0438\u043a \u0441 \u0432\u043e\u043f\u0440\u043e\u0441\u0430\u043c\u0438 \u043f\u043e SQL \u0441\u0440\u0435\u0434\u043d\u0435\u0439 \u0438 \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438, \u0447\u0442\u043e\u0431\u044b \u043b\u0443\u0447\u0448\u0435 \u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c\u0441\u044f \u043a \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f\u043c. \u042d\u0442\u043e\u0442 \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u043b\u0441\u044f \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u043c \u0446\u0438\u043a\u043b\u0435 \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0439 2019 \u0433\u043e\u0434\u0430. \u0417\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0433\u043e\u0434 \u044f \u043f\u043e\u0434\u0435\u043b\u0438\u043b\u0441\u044f \u044d\u0442\u0438\u043c \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e\u043c \u0441 \u043f\u0430\u0440\u043e\u0439 \u0434\u0440\u0443\u0437\u0435\u0439, \u0430 \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u043c\u0443 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u043c\u0443 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0438\u0437-\u0437\u0430 \u043f\u0430\u043d\u0434\u0435\u043c\u0438\u0438 \u043e\u0442\u0448\u043b\u0438\u0444\u043e\u0432\u0430\u043b \u0435\u0433\u043e\u00a0\u2014 \u0438 \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u043b \u044d\u0442\u043e\u0442 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442.<\/p>\n<p>  \u0415\u0441\u0442\u044c \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043e\u0442\u043b\u0438\u0447\u043d\u044b\u0445 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432 \u043f\u043e SQL \u0434\u043b\u044f \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u0445. \u041c\u043e\u0438 \u043b\u044e\u0431\u0438\u043c\u044b\u0435\u00a0\u2014 \u044d\u0442\u043e <a href=\"https:\/\/www.codecademy.com\/learn\/learn-sql\">\u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0435 \u043a\u0443\u0440\u0441\u044b Codecademy \u043f\u043e SQL<\/a> \u0438 <a href=\"https:\/\/selectstarsql.com\/\">Select Star SQL<\/a> \u043e\u0442 \u0426\u0437\u044b \u0427\u043e\u043d \u041a\u0430\u043e. \u041d\u043e \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043f\u0435\u0440\u0432\u044b\u0435 70% \u0438\u0437 \u043a\u0443\u0440\u0441\u0430 SQL \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u044b, \u0430 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0435 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0442\u0441\u044f \u0432 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 30%, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u043e\u0441\u0432\u0435\u0449\u0430\u044e\u0442\u0441\u044f \u0432 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0430\u0445 \u0434\u043b\u044f \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u0445. \u0422\u0430\u043a \u0432\u043e\u0442, \u043d\u0430 \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f\u0445 \u0434\u043b\u044f \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u043e\u0432 \u043f\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f\u0445 \u0447\u0430\u0441\u0442\u043e \u0437\u0430\u0434\u0430\u044e\u0442 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u0438\u043c\u0435\u043d\u043d\u043e \u043f\u043e \u044d\u0442\u0438\u043c 30%.<\/p>\n<p>  \u0423\u0434\u0438\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u043d\u043e \u044f \u043d\u0435 \u043d\u0430\u0448\u0451\u043b \u0438\u0441\u0447\u0435\u0440\u043f\u044b\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430 \u043f\u043e \u0442\u0430\u043a\u0438\u043c \u0432\u043e\u043f\u0440\u043e\u0441\u0430\u043c \u0441\u0440\u0435\u0434\u043d\u0435\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u043b \u0434\u0430\u043d\u043d\u043e\u0435 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e.<br \/>  <a name=\"habracut\"><\/a><br \/>  \u041e\u043d\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u043e \u0434\u043b\u044f \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0439, \u043d\u043e \u0437\u0430\u043e\u0434\u043d\u043e \u043f\u043e\u0432\u044b\u0441\u0438\u0442 \u0432\u0430\u0448\u0443 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u043d\u0430 \u0442\u0435\u043a\u0443\u0449\u0435\u043c \u0438 \u0431\u0443\u0434\u0443\u0449\u0438\u0445 \u043c\u0435\u0441\u0442\u0430\u0445 \u0440\u0430\u0431\u043e\u0442\u044b. \u041b\u0438\u0447\u043d\u043e \u044f \u0441\u0447\u0438\u0442\u0430\u044e, \u0447\u0442\u043e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u044b\u0435 \u0448\u0430\u0431\u043b\u043e\u043d\u044b SQL \u043f\u043e\u043b\u0435\u0437\u043d\u044b \u0438 \u0434\u043b\u044f ETL-\u0441\u0438\u0441\u0442\u0435\u043c, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u043e\u0442\u0447\u0451\u0442\u043d\u043e\u0441\u0442\u0438 \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u0442\u0435\u043d\u0434\u0435\u043d\u0446\u0438\u0439.<\/p>\n<blockquote>\n<h1><a href=\"#1\">\u0421\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435<\/a><\/h1>\n<p>  <\/p>\n<ul>\n<li><a href=\"#2\">\u0421\u0434\u0435\u043b\u0430\u043d\u043d\u044b\u0435 \u0434\u043e\u043f\u0443\u0449\u0435\u043d\u0438\u044f \u0438 \u043a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e<\/a>  <\/li>\n<li><a href=\"#3\">\u0421\u043e\u0432\u0435\u0442\u044b \u043f\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044e \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447 \u043d\u0430 \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f\u0445 \u043f\u043e SQL<\/a>  <\/li>\n<li><a href=\"#4\">\u0417\u0430\u0434\u0430\u0447\u0438 \u043d\u0430 \u0441\u0430\u043c\u043e\u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f<\/a><br \/> \n<ul>\n<li><a href=\"#5\">\u2116 1. \u041f\u0440\u043e\u0446\u0435\u043d\u0442\u043d\u043e\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043c\u0435\u0441\u044f\u0446 \u043a \u043c\u0435\u0441\u044f\u0446\u0443<\/a>  <\/li>\n<li><a href=\"#6\">\u2116 2. \u041c\u0430\u0440\u043a\u0438\u0440\u043e\u0432\u043a\u0430 \u0434\u0440\u0435\u0432\u043e\u0432\u0438\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b<\/a>  <\/li>\n<li><a href=\"#7\">\u2116 3. \u0423\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0432 \u043c\u0435\u0441\u044f\u0446 (\u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0447\u0430\u0441\u0442\u0435\u0439)<\/a><br \/> \n<ul>\n<li><a href=\"#8\">\u0427\u0430\u0441\u0442\u044c 1<\/a>  <\/li>\n<li><a href=\"#9\">\u0427\u0430\u0441\u0442\u044c 2<\/a>  <\/li>\n<li><a href=\"#10\">\u0427\u0430\u0441\u0442\u044c 3<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#11\">\u2116 4. \u041d\u0430\u0440\u0430\u0441\u0442\u0430\u044e\u0449\u0438\u0439 \u0438\u0442\u043e\u0433<\/a>  <\/li>\n<li><a href=\"#12\">\u2116 5. \u0421\u043a\u043e\u043b\u044c\u0437\u044f\u0449\u0435\u0435 \u0441\u0440\u0435\u0434\u043d\u0435\u0435<\/a>  <\/li>\n<li><a href=\"#13\">\u2116 6. \u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0443\u0441\u043b\u043e\u0432\u0438\u0439 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#14\">\u0417\u0430\u0434\u0430\u0447\u0438 \u043d\u0430 \u043e\u043a\u043e\u043d\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438<\/a><br \/> \n<ul>\n<li><a href=\"#15\">\u2116 1. \u041d\u0430\u0439\u0442\u0438 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0441 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c<\/a>  <\/li>\n<li><a href=\"#16\">\u2116 2. \u0421\u0440\u0435\u0434\u043d\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0438 \u0440\u0430\u043d\u0436\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441 \u043e\u043a\u043e\u043d\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 (\u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0447\u0430\u0441\u0442\u0435\u0439)<\/a><br \/> \n<ul>\n<li><a href=\"#17\">\u0427\u0430\u0441\u0442\u044c 1<\/a>  <\/li>\n<li><a href=\"#18\">\u0427\u0430\u0441\u0442\u044c 2<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#19\">\u0414\u0440\u0443\u0433\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u0441\u0440\u0435\u0434\u043d\u0435\u0439 \u0438 \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438<\/a><br \/> \n<ul>\n<li><a href=\"#20\">\u2116 1. \u0413\u0438\u0441\u0442\u043e\u0433\u0440\u0430\u043c\u043c\u044b<\/a>  <\/li>\n<li><a href=\"#21\">\u2116 2. \u041f\u0435\u0440\u0435\u043a\u0440\u0451\u0441\u0442\u043d\u043e\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 (\u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0447\u0430\u0441\u0442\u0435\u0439)<\/a><br \/> \n<ul>\n<li><a href=\"#22\">\u0427\u0430\u0441\u0442\u044c 1<\/a>  <\/li>\n<li><a href=\"#23\">\u0427\u0430\u0441\u0442\u044c 2<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#24\">\u2116 3. \u041f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u044b\u0435 \u0440\u0430\u0441\u0447\u0451\u0442\u044b<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/blockquote>\n<p>  \u041d\u0443\u0436\u043d\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c, \u0447\u0442\u043e \u043d\u0430 \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f\u0445 \u0434\u0430\u0442\u0430-\u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u043e\u0432 \u0438 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u043e\u0432 \u043f\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u044e\u0442 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e SQL. \u0414\u0440\u0443\u0433\u0438\u0435 \u043e\u0431\u0449\u0438\u0435 \u0442\u0435\u043c\u044b \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0442 \u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0448\u043b\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432, A\/B-\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u043c\u0435\u0442\u0440\u0438\u043a \u0438 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0435 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b. \u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0440\u0438 \u0433\u043e\u0434\u0430 \u043d\u0430\u0437\u0430\u0434 \u043d\u0430 Quora \u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0438\u0441\u044c <a href=\"https:\/\/www.quora.com\/How-would-you-prepare-for-Data-scientist-Analytics-role-at-Facebook\/answers\/60757535?ch=10&amp;share=c64f7840&amp;srid=oVHA\">\u0441\u043e\u0432\u0435\u0442\u044b<\/a> \u043f\u043e \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044e \u043d\u0430 \u0434\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u0430 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430 (product analyst) \u0432 Facebook. \u0422\u0430\u043c \u044d\u0442\u0430 \u0442\u0435\u043c\u0430 \u043e\u0431\u0441\u0443\u0436\u0434\u0430\u0435\u0442\u0441\u044f \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e. \u0422\u0435\u043c \u043d\u0435 \u043c\u0435\u043d\u0435\u0435, \u0435\u0441\u043b\u0438 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u0435 \u0437\u043d\u0430\u043d\u0438\u0439 \u043f\u043e SQL \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u0432\u0430\u043c \u043d\u0430 \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0438, \u0442\u043e \u044d\u0442\u043e \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u0432\u043f\u043e\u043b\u043d\u0435 \u0441\u0442\u043e\u0438\u0442 \u043f\u043e\u0442\u0440\u0430\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438.<\/p>\n<p>  \u0412 \u0431\u0443\u0434\u0443\u0449\u0435\u043c \u044f \u043c\u043e\u0433\u0443 \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0442\u0438 \u043a\u043e\u0434 \u0438\u0437 \u044d\u0442\u043e\u0433\u043e \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0430 \u043d\u0430 \u0441\u0430\u0439\u0442 \u0432\u0440\u043e\u0434\u0435 <a href=\"https:\/\/selectstarsql.com\/\">Select Star SQL<\/a>, \u0447\u0442\u043e\u0431\u044b \u0431\u044b\u043b\u043e \u043f\u0440\u043e\u0449\u0435 \u043f\u0438\u0441\u0430\u0442\u044c \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 SQL \u2014 \u0438 \u0432\u0438\u0434\u0435\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u0434\u0430 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u041a\u0430\u043a \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u00a0\u2014 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u043a\u0430\u043a \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043d\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 \u0434\u043b\u044f \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u043a \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f\u043c <a href=\"https:\/\/leetcode.com\/\">LeetCode<\/a>. \u041f\u043e\u043a\u0430 \u0436\u0435 \u044f \u043f\u0440\u043e\u0441\u0442\u043e \u0445\u043e\u0442\u0435\u043b \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442, \u0447\u0442\u043e\u0431\u044b \u043b\u044e\u0434\u0438 \u043c\u043e\u0433\u043b\u0438 \u043f\u0440\u044f\u043c\u043e \u0441\u0435\u0439\u0447\u0430\u0441 \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u044d\u0442\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0435\u0439.<\/p>\n<p>  <a name=\"1\"><\/a><\/p>\n<h1>\u0421\u0434\u0435\u043b\u0430\u043d\u043d\u044b\u0435 \u0434\u043e\u043f\u0443\u0449\u0435\u043d\u0438\u044f \u0438 \u043a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e<\/h1>\n<p>  <b>\u041f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043e \u0437\u043d\u0430\u043d\u0438\u0438 \u044f\u0437\u044b\u043a\u0430 SQL:<\/b> \u041f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u0443 \u0432\u0430\u0441 \u0435\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0447\u0438\u0435 \u0437\u043d\u0430\u043d\u0438\u044f SQL. \u0412\u0435\u0440\u043e\u044f\u0442\u043d\u043e, \u0432\u044b \u0447\u0430\u0441\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 \u0435\u0433\u043e \u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0435, \u043d\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u043e\u0442\u0442\u043e\u0447\u0438\u0442\u044c \u043d\u0430\u0432\u044b\u043a\u0438 \u0432 \u0442\u0430\u043a\u0438\u0445 \u0442\u0435\u043c\u0430\u0445, \u043a\u0430\u043a \u0441\u0430\u043c\u043e\u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0438 \u043e\u043a\u043e\u043d\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438.<\/p>\n<p>  <b>\u041a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u043e\u0435 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e:<\/b> \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043d\u0430 \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0438 \u0447\u0430\u0441\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043e\u0441\u043a\u0430 \u0438\u043b\u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0439 \u0431\u043b\u043e\u043a\u043d\u043e\u0442 (\u0431\u0435\u0437 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u043a\u043e\u0434\u0430), \u0442\u043e \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e \u0432\u0437\u044f\u0442\u044c \u043a\u0430\u0440\u0430\u043d\u0434\u0430\u0448 \u0438 \u0431\u0443\u043c\u0430\u0433\u0443\u00a0\u2014 \u0438 \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b, \u0430 \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u044c \u0441\u0432\u043e\u0438 \u0437\u0430\u043f\u0438\u0441\u0438 \u0441 \u043e\u0442\u0432\u0435\u0442\u0430\u043c\u0438. \u0418\u043b\u0438 \u043e\u0442\u0440\u0430\u0431\u043e\u0442\u0430\u0439\u0442\u0435 \u0441\u0432\u043e\u0438 \u043e\u0442\u0432\u0435\u0442\u044b \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u0434\u0440\u0443\u0433\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b\u0441\u0442\u0443\u043f\u0438\u0442 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0438\u043d\u0442\u0435\u0440\u0432\u044c\u044e\u0435\u0440\u0430!<\/p>\n<ul>\n<li>\u041d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043e\u0448\u0438\u0431\u043a\u0438 \u043d\u0435 \u0438\u043c\u0435\u044e\u0442 \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u0441 \u0434\u043e\u0441\u043a\u043e\u0439 \u0438\u043b\u0438 \u0431\u043b\u043e\u043a\u043d\u043e\u0442\u043e\u043c. \u041d\u043e \u043e\u043d\u0438 \u043c\u043e\u0433\u0443\u0442 \u043e\u0442\u0432\u043b\u0435\u043a\u0430\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0432\u044c\u044e\u0435\u0440\u0430, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432 \u0438\u0434\u0435\u0430\u043b\u0435 \u0441\u0442\u0430\u0440\u0430\u0439\u0442\u0435\u0441\u044c \u0443\u043c\u0435\u043d\u044c\u0448\u0438\u0442\u044c \u0438\u0445 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e, \u0447\u0442\u043e\u0431\u044b \u0441\u043a\u043e\u043d\u0446\u0435\u043d\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0451 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u043b\u043e\u0433\u0438\u043a\u0435.  <\/li>\n<li>\u041f\u0440\u0438\u0432\u0435\u0434\u0451\u043d\u043d\u044b\u0435 \u043e\u0442\u0432\u0435\u0442\u044b \u043d\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0440\u0435\u0448\u0438\u0442\u044c \u043a\u0430\u0436\u0434\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443. \u041d\u0435 \u0441\u0442\u0435\u0441\u043d\u044f\u0439\u0442\u0435\u0441\u044c \u043f\u0438\u0441\u0430\u0442\u044c \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 \u0441 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c\u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u044f\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 \u044d\u0442\u043e \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e!<\/li>\n<\/ul>\n<p>  <a name=\"2\"><\/a><\/p>\n<h1>\u0421\u043e\u0432\u0435\u0442\u044b \u043f\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044e \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447 \u043d\u0430 \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f\u0445 \u043f\u043e SQL<\/h1>\n<p>  \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435 \u0441\u043e\u0432\u0435\u0442\u044b \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0439 \u043f\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e\u2026<\/p>\n<ol>\n<li>\u0412\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0432\u044b\u0441\u043b\u0443\u0448\u0430\u0439\u0442\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b, \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u0435 \u0432\u0441\u044e \u0441\u0443\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0438\u043d\u0442\u0435\u0440\u0432\u044c\u044e\u0435\u0440\u0443  <\/li>\n<li>\u0421\u0444\u043e\u0440\u043c\u0443\u043b\u0438\u0440\u0443\u0439\u0442\u0435 \u043f\u043e\u0433\u0440\u0430\u043d\u0438\u0447\u043d\u044b\u0439 \u0441\u043b\u0443\u0447\u0430\u0439, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u0447\u0442\u043e \u0432\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u0442\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 (\u0442.\u00a0\u0435. \u0441\u0442\u0440\u043e\u043a\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f <i>\u043d\u0435 \u0431\u0443\u0434\u0435\u0442<\/i> \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0430 \u0432 \u0438\u0442\u043e\u0433\u043e\u0432\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 SQL, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0435\u0441\u044c \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c)  <\/li>\n<li>(\u0415\u0441\u043b\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0441\u0432\u044f\u0437\u0430\u043d\u0430 \u0441 \u0441\u0430\u043c\u043e\u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435\u043c) \u0434\u043b\u044f \u0441\u0432\u043e\u0435\u0439 \u0436\u0435 \u043f\u043e\u043b\u044c\u0437\u044b \u043d\u0430\u0440\u0438\u0441\u0443\u0439\u0442\u0435, \u043a\u0430\u043a \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0441\u0430\u043c\u043e\u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u2014 \u043e\u0431\u044b\u0447\u043d\u043e \u044d\u0442\u043e \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u0442\u0440\u0438 \u0441\u0442\u043e\u043b\u0431\u0446\u0430: \u043d\u0443\u0436\u043d\u044b\u0439 \u0441\u0442\u043e\u043b\u0431\u0435\u0446 \u0438\u0437 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b, \u0441\u0442\u043e\u043b\u0431\u0435\u0446 \u0434\u043b\u044f \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0438\u0437 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0438 \u0441\u0442\u043e\u043b\u0431\u0435\u0446 \u0434\u043b\u044f \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0438\u0437 \u0432\u0442\u043e\u0440\u0438\u0447\u043d\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b<br \/> \n<ul>\n<li>\u0418\u043b\u0438, \u043a\u043e\u0433\u0434\u0430 \u0432\u044b \u043b\u0443\u0447\u0448\u0435 \u043e\u0441\u0432\u043e\u0438\u0442\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u0441\u0430\u043c\u043e\u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f, \u043c\u043e\u0436\u0435\u0442\u0435 \u043e\u0431\u044a\u044f\u0441\u043d\u0438\u0442\u044c \u044d\u0442\u043e\u0442 \u0448\u0430\u0433 \u0443\u0441\u0442\u043d\u043e<\/li>\n<\/ul>\n<\/li>\n<li>\u041d\u0430\u0447\u043d\u0438\u0442\u0435 \u043f\u0438\u0441\u0430\u0442\u044c SQL, \u043f\u0443\u0441\u0442\u044c \u0441 \u043e\u0448\u0438\u0431\u043a\u0430\u043c\u0438, \u0432\u043c\u0435\u0441\u0442\u043e \u043f\u043e\u043f\u044b\u0442\u043e\u043a \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043f\u043e\u043d\u044f\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443. \u0424\u043e\u0440\u043c\u0443\u043b\u0438\u0440\u0443\u0439\u0442\u0435 \u0441\u0432\u043e\u0438 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043f\u043e \u0445\u043e\u0434\u0443 \u0434\u0435\u043b\u0430, \u0447\u0442\u043e\u0431\u044b \u0432\u0430\u0448 \u0438\u043d\u0442\u0435\u0440\u0432\u044c\u044e\u0435\u0440 \u043c\u043e\u0433 \u0432\u0430\u0441 \u043f\u043e\u043f\u0440\u0430\u0432\u0438\u0442\u044c.<\/li>\n<\/ol>\n<p>  <a name=\"3\"><\/a><\/p>\n<h1>\u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u043d\u043e\u0441\u0442\u0438 \u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b<\/h1>\n<p>  \u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0437 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0445 \u0437\u0434\u0435\u0441\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0430\u0434\u0430\u043f\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0438\u0437 \u0441\u0442\u0430\u0440\u044b\u0445 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0432 \u0431\u043b\u043e\u0433\u0435 Periscope (\u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0445 <a href=\"https:\/\/www.linkedin.com\/in\/seangcook\/\">\u0428\u043e\u043d\u043e\u043c \u041a\u0443\u043a\u043e\u043c<\/a> \u043e\u043a\u043e\u043b\u043e 2014 \u0433\u043e\u0434\u0430, \u0445\u043e\u0442\u044f \u0435\u0433\u043e \u0430\u0432\u0442\u043e\u0440\u0441\u0442\u0432\u043e, \u0432\u0438\u0434\u0438\u043c\u043e, \u0443\u0431\u0440\u0430\u043b\u0438 \u0438\u0437 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 \u043f\u043e\u0441\u043b\u0435 <a href=\"https:\/\/www.sisense.com\/blog\/sisense-and-periscope-data-merge-2\/\">\u0441\u043b\u0438\u044f\u043d\u0438\u044f SiSense \u0441 Periscope<\/a>), \u0430 \u0442\u0430\u043a\u0436\u0435 \u0438\u0437 \u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u0439 \u043d\u0430 StackOverflow. \u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438, \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0438 \u043e\u0442\u043c\u0435\u0447\u0435\u043d\u044b \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0432\u043e\u043f\u0440\u043e\u0441\u0430.<\/p>\n<p>  \u041d\u0430 <a href=\"https:\/\/selectstarsql.com\/\">Select Star SQL<\/a> \u0442\u043e\u0436\u0435 \u0445\u043e\u0440\u043e\u0448\u0430\u044f <a href=\"https:\/\/selectstarsql.com\/questions.html#challenge_questions\">\u043f\u043e\u0434\u0431\u043e\u0440\u043a\u0430 \u0437\u0430\u0434\u0430\u0447\u0435\u043a<\/a>, \u0434\u043e\u043f\u043e\u043b\u043d\u044f\u044e\u0449\u0438\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0438\u0437 \u044d\u0442\u043e\u0433\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430.<\/p>\n<p>  \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u044d\u0442\u0438 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u043d\u0435 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0431\u0443\u043a\u0432\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u043a\u043e\u043f\u0438\u044f\u043c\u0438 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u0441 \u043c\u043e\u0438\u0445 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0439, \u0438 \u043e\u043d\u0438 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438\u0441\u044c \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f\u0445, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u044f \u0440\u0430\u0431\u043e\u0442\u0430\u043b \u0438\u043b\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e.<\/p>\n<p>  <a name=\"4\"><\/a><\/p>\n<h1>\u0417\u0430\u0434\u0430\u0447\u0438 \u043d\u0430 \u0441\u0430\u043c\u043e\u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435<\/h1>\n<p>  <a name=\"5\"><\/a><\/p>\n<h2>\u2116 1. \u041f\u0440\u043e\u0446\u0435\u043d\u0442\u043d\u043e\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043c\u0435\u0441\u044f\u0446 \u043a \u043c\u0435\u0441\u044f\u0446\u0443<\/h2>\n<p>  <b>\u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442:<\/b> \u0447\u0430\u0441\u0442\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u043e \u0437\u043d\u0430\u0442\u044c, \u043a\u0430\u043a \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043a\u043b\u044e\u0447\u0435\u0432\u0430\u044f \u043c\u0435\u0442\u0440\u0438\u043a\u0430, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043c\u0435\u0441\u044f\u0447\u043d\u0430\u044f \u0430\u0443\u0434\u0438\u0442\u043e\u0440\u0438\u044f \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439, \u043e\u0442 \u043c\u0435\u0441\u044f\u0446\u0430 \u043a \u043c\u0435\u0441\u044f\u0446\u0443. \u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u0430 <code>logins<\/code> \u0432 \u0442\u0430\u043a\u043e\u043c \u0432\u0438\u0434\u0435:<\/p>\n<pre>| user_id | date       | |---------|------------| | 1       | 2018-07-01 | | 234     | 2018-07-02 | | 3       | 2018-07-02 | | 1       | 2018-07-02 | | ...     | ...        | | 234     | 2018-10-04 |<\/pre>\n<p>  <b>\u0417\u0430\u0434\u0430\u0447\u0430<\/b>: \u043d\u0430\u0439\u0442\u0438 \u0435\u0436\u0435\u043c\u0435\u0441\u044f\u0447\u043d\u043e\u0435 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u043d\u043e\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043c\u0435\u0441\u044f\u0447\u043d\u043e\u0439 \u0430\u0443\u0434\u0438\u0442\u043e\u0440\u0438\u0438 \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 (MAU).<\/p>\n<p>  <b>\u0420\u0435\u0448\u0435\u043d\u0438\u0435:<\/b><br \/>  <i>(\u042d\u0442\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0435, \u043a\u0430\u043a \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0431\u043b\u043e\u043a\u0438 \u043a\u043e\u0434\u0430 \u0432 \u044d\u0442\u043e\u043c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0435, \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 \u043e\u0431 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u0445 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u0435 SQL, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u043e\u0442\u043b\u0438\u0447\u0430\u0442\u044c\u0441\u044f \u043c\u0435\u0436\u0434\u0443 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430\u043c\u0438 SQL, \u0438 \u043f\u0440\u043e\u0447\u0438\u0435 \u0437\u0430\u043c\u0435\u0442\u043a\u0438)<\/i> <\/p>\n<pre><code class=\"sql\">WITH mau AS  (   SELECT     \/*      * \u041e\u0431\u044b\u0447\u043d\u043e \u0438\u043d\u0442\u0435\u0440\u0432\u044c\u044e\u0435\u0440 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0432\u0430\u043c \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043f\u0441\u0435\u0432\u0434\u043e\u043a\u043e\u0434 \u0434\u043b\u044f     * \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0434\u0430\u0442\u044b, \u0442.\u00a0\u0435. \u041d\u0415 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c, \u043a\u0430\u043a \u0432\u044b \u0438\u0445 \u043f\u043e\u043c\u043d\u0438\u0442\u0435.      * \u041f\u0440\u043e\u0441\u0442\u043e \u043e\u0431\u044a\u044f\u0441\u043d\u0438\u0442\u0435 \u043d\u0430 \u0434\u043e\u0441\u043a\u0435, \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u044f     *     * \u0412 Postgres \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 DATE_TRUNC(), \u043d\u043e \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442     * \u043c\u043e\u0433\u0443\u0442 \u0434\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u0430\u0442\u044b SQL \u0438\u043b\u0438 \u0438\u0445 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0438     * \u0421\u043c. https:\/\/www.postgresql.org\/docs\/9.0\/functions-datetime.html#FUNCTIONS-DATETIME-TRUNC     *\/      DATE_TRUNC('month', date) month_timestamp,     COUNT(DISTINCT user_id) mau   FROM      logins    GROUP BY      DATE_TRUNC('month', date)   )    SELECT      \/*     * \u0412 \u044d\u0442\u0443 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e SELECT \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0431\u0443\u043a\u0432\u0430\u043b\u044c\u043d\u043e \u0432\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u043c\u0435\u0441\u044f\u0446.      *      * \u041d\u043e \u043a\u0430\u043a \u0443\u043f\u043e\u043c\u0438\u043d\u0430\u043b\u043e\u0441\u044c \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 \u0441 \u0441\u043e\u0432\u0435\u0442\u0430\u043c\u0438 \u0432\u044b\u0448\u0435, \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u043e\u043b\u0435\u0437\u043d\u043e     * \u0445\u043e\u0442\u044f \u0431\u044b \u043d\u0430\u0431\u0440\u043e\u0441\u0430\u0442\u044c \u0441\u0430\u043c\u043e\u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u0437\u0430\u043f\u0443\u0442\u0430\u0442\u044c\u0441\u044f, \u043a\u0430\u043a\u0430\u044f     * \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043f\u0440\u043e\u0448\u043b\u044b\u0439 \u043c\u0435\u0441\u044f\u0446 \u043a \u0442\u0435\u043a\u0443\u0449\u0435\u043c\u0443 \u0438 \u0442.\u0434.     *\/      a.month_timestamp previous_month,      a.mau previous_mau,      b.month_timestamp current_month,      b.mau current_mau,      ROUND(100.0*(b.mau - a.mau)\/a.mau,2) AS percent_change   FROM     mau a   JOIN      \/*     * \u041a\u0430\u043a \u0432\u0430\u0440\u0438\u0430\u043d\u0442 `ON b.month_timestamp = a.month_timestamp + interval '1 month'`      *\/     mau b ON a.month_timestamp = b.month_timestamp - interval '1 month' <\/code><\/pre>\n<p>  <a name=\"6\"><\/a><\/p>\n<h2>\u2116 2. \u041c\u0430\u0440\u043a\u0438\u0440\u043e\u0432\u043a\u0430 \u0434\u0440\u0435\u0432\u043e\u0432\u0438\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b<\/h2>\n<p>  <b>\u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442:<\/b> \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u043c, \u0443 \u0432\u0430\u0441 \u0435\u0441\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u0430 <code>tree<\/code> \u0441 \u0434\u0432\u0443\u043c\u044f \u0441\u0442\u043e\u043b\u0431\u0446\u0430\u043c\u0438: \u0432 \u043f\u0435\u0440\u0432\u043e\u043c \u0443\u043a\u0430\u0437\u0430\u043d\u044b \u0443\u0437\u043b\u044b, \u0430 \u0432\u043e \u0432\u0442\u043e\u0440\u043e\u043c\u00a0\u2014 \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0435 \u0443\u0437\u043b\u044b.<\/p>\n<pre>node   parent 1       2 2       5 3       5 4       3 5       NULL <\/pre>\n<p>  <b>\u0417\u0430\u0434\u0430\u0447\u0430:<\/b> \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c SQL \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0447\u0442\u043e\u0431\u044b \u043c\u044b \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0438\u043b\u0438 \u043a\u0430\u0436\u0434\u044b\u0439 \u0443\u0437\u0435\u043b \u043a\u0430\u043a \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 (inner), \u043a\u043e\u0440\u043d\u0435\u0432\u043e\u0439 (root) \u0438\u043b\u0438 \u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0439 \u0443\u0437\u0435\u043b\/\u043b\u0438\u0441\u0442 (leaf), \u0442\u0430\u043a \u0447\u0442\u043e \u0434\u043b\u044f \u0432\u044b\u0448\u0435\u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<\/p>\n<pre><code class=\"sql\">node    label   1       Leaf 2       Inner 3       Inner 4       Leaf 5       Root<\/code><\/pre>\n<p>  (\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435: \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043e \u0442\u0435\u0440\u043c\u0438\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0434\u0440\u0435\u0432\u043e\u0432\u0438\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c <a href=\"http:\/\/ceadserv1.nku.edu\/longa\/\/classes\/mat385_resources\/docs\/trees.html\">\u0437\u0434\u0435\u0441\u044c<\/a>. \u041e\u0434\u043d\u0430\u043a\u043e \u0434\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u044d\u0442\u043e\u0439 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043e\u043d\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430!)<\/p>\n<p>  <b>\u0420\u0435\u0448\u0435\u043d\u0438\u0435:<\/b><br \/>  <b>\u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u043d\u043e\u0441\u0442\u044c:<\/b> \u044d\u0442\u043e \u0431\u043e\u043b\u0435\u0435 \u043e\u0431\u043e\u0431\u0449\u0451\u043d\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u043b \u0424\u0430\u0431\u0438\u0430\u043d \u0425\u043e\u0444\u043c\u0430\u043d 2 \u043c\u0430\u044f 2020 \u0433\u043e\u0434\u0430. \u0421\u043f\u0430\u0441\u0438\u0431\u043e, \u0424\u0430\u0431\u0438\u0430\u043d!<\/p>\n<pre><code class=\"sql\">WITH join_table AS (     SELECT          cur.node,          cur.parent,          COUNT(next.node) AS num_children     FROM          tree cur     LEFT JOIN          tree next ON (next.parent = cur.node)     GROUP BY          cur.node,          cur.parent )  SELECT     node,     CASE         WHEN parent IS NULL THEN &quot;Root&quot;         WHEN num_children = 0 THEN &quot;Leaf&quot;         ELSE &quot;Inner&quot;     END AS label FROM      join_table <\/code><\/pre>\n<p>  \u0410\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435, \u0431\u0435\u0437 \u044f\u0432\u043d\u044b\u0445 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439:<\/p>\n<p>  <b>\u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u043d\u043e\u0441\u0442\u044c:<\/b> \u0423\u0438\u043b\u044c\u044f\u043c \u0427\u0430\u0440\u0434\u0436\u0438\u043d 2 \u043c\u0430\u044f 2020 \u0433\u043e\u0434\u0430 \u043e\u0431\u0440\u0430\u0442\u0438\u043b \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u0443\u0441\u043b\u043e\u0432\u0438\u044f <code>WHERE parent IS NOT NULL<\/code>, \u0447\u0442\u043e\u0431\u044b \u044d\u0442\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u043b\u043e <code>Leaf<\/code> \u0432\u043c\u0435\u0441\u0442\u043e <code>NULL<\/code>. \u0421\u043f\u0430\u0441\u0438\u0431\u043e, \u0423\u0438\u043b\u044c\u044f\u043c!<\/p>\n<pre><code class=\"sql\">SELECT      node,     CASE          WHEN parent IS NULL THEN 'Root'         WHEN node NOT IN              (SELECT parent FROM tree WHERE parent IS NOT NULL) THEN 'Leaf'         WHEN node IN (SELECT parent FROM tree) AND parent IS NOT NULL THEN 'Inner'     END AS label   from      tree<\/code><\/pre>\n<p>  <a name=\"7\"><\/a><\/p>\n<h2>\u2116 3. \u0423\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0432 \u043c\u0435\u0441\u044f\u0446 (\u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0447\u0430\u0441\u0442\u0435\u0439)<\/h2>\n<p>  <b>\u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u043d\u043e\u0441\u0442\u044c:<\/b> \u044d\u0442\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u0430\u0434\u0430\u043f\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0430 \u0438\u0437 \u0441\u0442\u0430\u0442\u044c\u0438 \u0432 \u0431\u043b\u043e\u0433\u0435 SiSense <a href=\"https:\/\/www.sisense.com\/blog\/use-self-joins-to-calculate-your-retention-churn-and-reactivation-metrics\/\">\u00ab\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0430\u043c\u043e\u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439 \u0434\u043b\u044f \u0440\u0430\u0441\u0447\u0451\u0442\u0430 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u0439 \u0443\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044f, \u043e\u0442\u0442\u043e\u043a\u0430 \u0438 \u0440\u0435\u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438\u00bb<\/a>.<\/p>\n<p>  <a name=\"8\"><\/a><\/p>\n<h3>\u0427\u0430\u0441\u0442\u044c 1<\/h3>\n<p>  <b>\u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442:<\/b> \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430 \u043f\u043e \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u043d\u0430 \u0441\u0430\u0439\u0442\u0435 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 <code>logins<\/code>:<\/p>\n<pre>| user_id | date       | |---------|------------| | 1       | 2018-07-01 | | 234     | 2018-07-02 | | 3       | 2018-07-02 | | 1       | 2018-07-02 | | ...     | ...        | | 234     | 2018-10-04 |<\/pre>\n<p>  <b>\u0417\u0430\u0434\u0430\u0447\u0430:<\/b> \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0443\u0434\u0435\u0440\u0436\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0432 \u043c\u0435\u0441\u044f\u0446. \u0412 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0434\u0430\u043d\u043d\u044b\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u043e\u0432\u0430\u043b\u0438\u0441\u044c \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0438 \u0432 \u044d\u0442\u043e\u043c, \u0438 \u0432 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u043c \u043c\u0435\u0441\u044f\u0446\u0435.<\/p>\n<p>  <b>\u0420\u0435\u0448\u0435\u043d\u0438\u0435:<\/b><\/p>\n<pre><code class=\"sql\">SELECT      DATE_TRUNC('month', a.date) month_timestamp,      COUNT(DISTINCT a.user_id) retained_users   FROM      logins a   JOIN      logins b ON a.user_id = b.user_id          AND DATE_TRUNC('month', a.date) = DATE_TRUNC('month', b.date) +                                               interval '1 month'  GROUP BY      date_trunc('month', a.date)<\/code><\/pre>\n<p>  <b>\u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u043d\u043e\u0441\u0442\u044c:<\/b> <br \/>  \u0422\u043e\u043c \u041c\u043e\u044d\u0440\u0442\u0435\u043b \u0443\u043a\u0430\u0437\u0430\u043b \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0434\u0435\u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044f user_id \u043f\u0435\u0440\u0435\u0434 \u0441\u0430\u043c\u043e\u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435\u043c \u0434\u0435\u043b\u0430\u0435\u0442 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0431\u043e\u043b\u0435\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u043c, \u0438 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u043b \u043a\u043e\u0434 \u043d\u0438\u0436\u0435. \u0421\u043f\u0430\u0441\u0438\u0431\u043e, \u0422\u043e\u043c!<\/p>\n<p>  \u0410\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435:<\/p>\n<pre><code class=\"sql\">WITH DistinctMonthlyUsers AS (   \/*   * \u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043c\u0435\u0441\u044f\u0446\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c *\u043d\u0430\u0431\u043e\u0440* \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435   * \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043b\u0438 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044e   *\/     SELECT DISTINCT       DATE_TRUNC('MONTH', a.date) AS month_timestamp,       user_id     FROM logins   )  SELECT   CurrentMonth.month_timestamp month_timestamp,   COUNT(PriorMonth.user_id) AS retained_user_count FROM      DistinctMonthlyUsers AS CurrentMonth LEFT JOIN      DistinctMonthlyUsers AS PriorMonth   ON     CurrentMonth.month_timestamp = PriorMonth.month_timestamp + INTERVAL '1 MONTH'     AND      CurrentMonth.user_id = PriorMonth.user_id<\/code><\/pre>\n<p>  <a name=\"9\"><\/a><\/p>\n<h3>\u0427\u0430\u0441\u0442\u044c 2<\/h3>\n<p>  <b>\u0417\u0430\u0434\u0430\u0447\u0430:<\/b> \u0442\u0435\u043f\u0435\u0440\u044c \u0432\u043e\u0437\u044c\u043c\u0451\u043c \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443 \u043f\u043e \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0443\u0434\u0435\u0440\u0436\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0432 \u043c\u0435\u0441\u044f\u0446\u00a0\u2014 \u0438 \u043f\u0435\u0440\u0435\u0432\u0435\u0440\u043d\u0451\u043c \u0435\u0451 \u0441 \u043d\u043e\u0433 \u043d\u0430 \u0433\u043e\u043b\u043e\u0432\u0443. \u041d\u0430\u043f\u0438\u0448\u0435\u043c \u0437\u0430\u043f\u0440\u043e\u0441 \u0434\u043b\u044f \u043f\u043e\u0434\u0441\u0447\u0451\u0442\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 <i>\u043d\u0435<\/i> \u0432\u0435\u0440\u043d\u0443\u043b\u0438\u0441\u044c \u043d\u0430 \u0441\u0430\u0439\u0442 \u0432 \u044d\u0442\u043e\u043c \u043c\u0435\u0441\u044f\u0446\u0435. \u0422\u043e \u0435\u0441\u0442\u044c \u00ab\u043f\u043e\u0442\u0435\u0440\u044f\u043d\u043d\u044b\u0445\u00bb \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439.<\/p>\n<p>  <b>\u0420\u0435\u0448\u0435\u043d\u0438\u0435:<\/b><\/p>\n<pre><code class=\"sql\">SELECT      DATE_TRUNC('month', a.date) month_timestamp,      COUNT(DISTINCT b.user_id) churned_users  FROM      logins a  FULL OUTER JOIN      logins b ON a.user_id = b.user_id          AND DATE_TRUNC('month', a.date) = DATE_TRUNC('month', b.date) +                                           interval '1 month' WHERE      a.user_id IS NULL  GROUP BY      DATE_TRUNC('month', a.date)<\/code><\/pre>\n<p>  \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u044d\u0442\u0443 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0448\u0438\u0442\u044c \u0442\u0430\u043a\u0436\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439 <code>LEFT<\/code> \u0438\u043b\u0438 <code>RIGHT<\/code>.<\/p>\n<p>  <a name=\"10\"><\/a><\/p>\n<h3>\u0427\u0430\u0441\u0442\u044c 3<\/h3>\n<p>  <b>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435:<\/b> \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e, \u044d\u0442\u043e \u0431\u043e\u043b\u0435\u0435 \u0441\u043b\u043e\u0436\u043d\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430, \u0447\u0435\u043c \u0432\u0430\u043c \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0430\u0442 \u043d\u0430 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0438. \u0412\u043e\u0441\u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0439\u0442\u0435 \u0435\u0451 \u0441\u043a\u043e\u0440\u0435\u0435 \u043a\u0430\u043a \u0433\u043e\u043b\u043e\u0432\u043e\u043b\u043e\u043c\u043a\u0443\u00a0\u2014 \u0438\u043b\u0438 \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0438 \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0437\u0430\u0434\u0430\u0447\u0435.<\/p>\n<p>  <b>\u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442<\/b>: \u0438\u0442\u0430\u043a, \u043c\u044b \u0445\u043e\u0440\u043e\u0448\u043e \u0441\u043f\u0440\u0430\u0432\u0438\u043b\u0438\u0441\u044c \u0441 \u0434\u0432\u0443\u043c\u044f \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u043c\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u043c\u0438. \u041f\u043e \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u043c \u043d\u043e\u0432\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 \u0442\u0435\u043f\u0435\u0440\u044c \u0443 \u043d\u0430\u0441 \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u043f\u043e\u0442\u0435\u0440\u044f\u043d\u043d\u044b\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 <code>user_churns<\/code>. \u0415\u0441\u043b\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0431\u044b\u043b\u0430 \u0430\u043a\u0442\u0438\u0432\u0435\u043d \u0432 \u043f\u0440\u043e\u0448\u043b\u043e\u043c \u043c\u0435\u0441\u044f\u0446\u0435, \u043d\u043e \u0437\u0430\u0442\u0435\u043c \u043d\u0435 \u0430\u043a\u0442\u0438\u0432\u0435\u043d \u0432 \u044d\u0442\u043e\u043c, \u0442\u043e \u043e\u043d \u0432\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0437\u0430 \u044d\u0442\u043e\u0442 \u043c\u0435\u0441\u044f\u0446. \u0412\u043e\u0442 \u043a\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 <code>user_churns<\/code>:<\/p>\n<pre>| user_id | month_date | |---------|------------| | 1       | 2018-05-01 | | 234     | 2018-05-01 | | 3       | 2018-05-01 | | 12      | 2018-05-01 | | ...     | ...        | | 234     | 2018-10-01 |<\/pre>\n<p>  <b>\u0417\u0430\u0434\u0430\u0447\u0430<\/b>: \u0442\u0435\u043f\u0435\u0440\u044c \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u043f\u0440\u043e\u0432\u0435\u0441\u0442\u0438 \u043a\u043e\u0433\u043e\u0440\u0442\u043d\u044b\u0439 \u0430\u043d\u0430\u043b\u0438\u0437, \u0442\u043e \u0435\u0441\u0442\u044c \u0430\u043d\u0430\u043b\u0438\u0437 \u0441\u043e\u0432\u043e\u043a\u0443\u043f\u043d\u043e\u0441\u0442\u0438 \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439, <i>\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u044b\u043b\u0438 \u0440\u0435\u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0432 \u043f\u0440\u043e\u0448\u043b\u043e\u043c<\/i>. \u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0441 \u0442\u0430\u043a\u0438\u043c\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c\u0438. \u0414\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043a\u043e\u0433\u043e\u0440\u0442\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u044b <code>user_churns<\/code> \u0438 <code>logins<\/code>. \u0412 Postgres \u0442\u0435\u043a\u0443\u0449\u0430\u044f \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u043c\u0435\u0442\u043a\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0447\u0435\u0440\u0435\u0437 <code>current_timestamp<\/code>.<\/p>\n<p>  <b>\u0420\u0435\u0448\u0435\u043d\u0438\u0435:<\/b><\/p>\n<pre><code class=\"sql\">WITH user_login_data AS  (     SELECT          DATE_TRUNC('month', a.date) month_timestamp,         a.user_id,         \/*          * \u041f\u043e \u043a\u0440\u0430\u0439\u043d\u0435\u0439 \u043c\u0435\u0440\u0435, \u0432 \u0442\u0435\u0445 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430\u0445 SQL, \u0447\u0442\u043e \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b,          * \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0432\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0432 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e SELECT \u043a\u043e\u043b\u043e\u043d\u043a\u0438 \u0438\u0437 HAVING.         * \u042f \u0437\u0434\u0435\u0441\u044c \u0432\u044b\u043f\u0438\u0441\u0430\u043b \u0438\u0445 \u0434\u043b\u044f \u0431\u043e\u043b\u044c\u0448\u0435\u0439 \u044f\u0441\u043d\u043e\u0441\u0442\u0438.           *\/          MAX(b.month_date) as most_recent_churn,          MAX(DATE_TRUNC('month', c.date)) as most_recent_active       FROM          logins a      JOIN          user_churns b              ON a.user_id = b.user_id AND DATE_TRUNC('month', a.date) &gt; b.month_date       JOIN         logins c              ON a.user_id = c.user_id              AND              DATE_TRUNC('month', a.date) &gt; DATE_TRUNC('month', c.date)      WHERE          DATE_TRUNC('month', a.date) = DATE_TRUNC('month', current_timestamp)      GROUP BY          DATE_TRUNC('month', a.date),         a.user_id      HAVING          most_recent_churn &gt; most_recent_active<\/code><\/pre>\n<p>  <a name=\"11\"><\/a><\/p>\n<h2>\u2116 4. \u041d\u0430\u0440\u0430\u0441\u0442\u0430\u044e\u0449\u0438\u0439 \u0438\u0442\u043e\u0433<\/h2>\n<p>  <b>\u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u043d\u043e\u0441\u0442\u044c:<\/b> \u044d\u0442\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u0430\u0434\u0430\u043f\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0430 \u0438\u0437 \u0441\u0442\u0430\u0442\u044c\u0438 \u0432 \u0431\u043b\u043e\u0433\u0435 SiSense <a href=\"https:\/\/www.sisense.com\/blog\/cash-flow-modeling-in-sql\/\">\u00ab\u041c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u0435\u043d\u0435\u0436\u043d\u044b\u0445 \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u0432 SQL\u00bb<\/a>.<\/p>\n<p>  <b>\u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442:<\/b> \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u0430 <code>transactions<\/code> \u0432 \u0442\u0430\u043a\u043e\u043c \u0432\u0438\u0434\u0435:<\/p>\n<pre>| date       | cash_flow | |------------|-----------| | 2018-01-01 | -1000     | | 2018-01-02 | -100      | | 2018-01-03 | 50        | | ...        | ...       |<\/pre>\n<p>  \u0413\u0434\u0435 <code>cash_flow<\/code> \u2014 \u044d\u0442\u043e \u0432\u044b\u0440\u0443\u0447\u043a\u0430 \u043c\u0438\u043d\u0443\u0441 \u0437\u0430\u0442\u0440\u0430\u0442\u044b \u0437\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u0434\u0435\u043d\u044c.<\/p>\n<p>  <b>\u0417\u0430\u0434\u0430\u0447\u0430:<\/b> \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c <i>\u043d\u0430\u0440\u0430\u0441\u0442\u0430\u044e\u0449\u0438\u0439 \u0438\u0442\u043e\u0433<\/i> \u0434\u043b\u044f \u0434\u0435\u043d\u0435\u0436\u043d\u043e\u0433\u043e \u043f\u043e\u0442\u043e\u043a\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u0434\u0435\u043d\u044c \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0447\u0442\u043e\u0431\u044b \u0432 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u043c \u0438\u0442\u043e\u0433\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0430\u0441\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u0432 \u0442\u0430\u043a\u043e\u0439 \u0444\u043e\u0440\u043c\u0435:<\/p>\n<pre>| date       | cumulative_cf | |------------|---------------| | 2018-01-01 | -1000         | | 2018-01-02 | -1100         | | 2018-01-03 | -1050         | | ...        | ...           |<\/pre>\n<p>  <b>\u0420\u0435\u0448\u0435\u043d\u0438\u0435:<\/b><\/p>\n<pre><code class=\"sql\">SELECT      a.date date,      SUM(b.cash_flow) as cumulative_cf  FROM     transactions a JOIN b      transactions b ON a.date &gt;= b.date  GROUP BY      a.date  ORDER BY      date ASC<\/code><\/pre>\n<p>  \u0410\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043e\u043a\u043e\u043d\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 (\u0431\u043e\u043b\u0435\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0435!):<\/p>\n<pre><code class=\"sql\">SELECT      date,      SUM(cash_flow) OVER (ORDER BY date ASC) as cumulative_cf  FROM     transactions  ORDER BY      date ASC<\/code><\/pre>\n<p>  <a name=\"12\"><\/a><\/p>\n<h2>\u2116 5. \u0421\u043a\u043e\u043b\u044c\u0437\u044f\u0449\u0435\u0435 \u0441\u0440\u0435\u0434\u043d\u0435\u0435<\/h2>\n<p>  <b>\u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u043d\u043e\u0441\u0442\u044c:<\/b> \u044d\u0442\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u0430\u0434\u0430\u043f\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0430 \u0438\u0437 \u0441\u0442\u0430\u0442\u044c\u0438 \u0432 \u0431\u043b\u043e\u0433\u0435 SiSense <a href=\"https:\/\/www.sisense.com\/blog\/rolling-average\/\">\u00ab\u0421\u043a\u043e\u043b\u044c\u0437\u044f\u0449\u0438\u0435 \u0441\u0440\u0435\u0434\u043d\u0438\u0435 \u0432 MySQL \u0438 SQL Server\u00bb<\/a>.<\/p>\n<p>  <b>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435:<\/b> \u0441\u043a\u043e\u043b\u044c\u0437\u044f\u0449\u0435\u0435 \u0441\u0440\u0435\u0434\u043d\u0435\u0435 \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u043c\u0438. \u0417\u0434\u0435\u0441\u044c \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0435 \u0441\u0440\u0435\u0434\u043d\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u043c\u0435\u0442\u0440\u0438\u043a\u0430 \u0434\u043b\u044f \u0441\u0435\u0434\u044c\u043c\u043e\u0433\u043e \u0434\u043d\u044f \u043c\u0435\u0441\u044f\u0446\u0430 \u0431\u0443\u0434\u0435\u0442 \u0441\u0440\u0435\u0434\u043d\u0438\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u0448\u0435\u0441\u0442\u0438 \u0434\u043d\u0435\u0439 \u0438 \u0435\u0433\u043e \u0441\u0430\u043c\u043e\u0433\u043e.<\/p>\n<p>  <b>\u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442<\/b>: \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u0430 <code>signups<\/code> \u0432 \u0442\u0430\u043a\u043e\u043c \u0432\u0438\u0434\u0435:<\/p>\n<pre>| date       | sign_ups | |------------|----------| | 2018-01-01 | 10       | | 2018-01-02 | 20       | | 2018-01-03 | 50       | | ...        | ...      | | 2018-10-01 | 35       |<\/pre>\n<p>  <b>\u0417\u0430\u0434\u0430\u0447\u0430<\/b>: \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c 7-\u0434\u043d\u0435\u0432\u043d\u043e\u0435 \u0441\u043a\u043e\u043b\u044c\u0437\u044f\u0449\u0435\u0435 \u0441\u0440\u0435\u0434\u043d\u0435\u0435 \u0435\u0436\u0435\u0434\u043d\u0435\u0432\u043d\u044b\u0445 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0439.<\/p>\n<p>  <b>\u0420\u0435\u0448\u0435\u043d\u0438\u0435:<\/b><\/p>\n<pre><code class=\"sql\">SELECT    a.date,    AVG(b.sign_ups) average_sign_ups  FROM    signups a  JOIN    signups b ON a.date &lt;= b.date + interval '6 days' AND a.date &gt;= b.date GROUP BY    a.date<\/code><\/pre>\n<p>  <a name=\"13\"><\/a><\/p>\n<h2>\u2116 6. \u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0443\u0441\u043b\u043e\u0432\u0438\u0439 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f<\/h2>\n<p>  <b>\u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u043d\u043e\u0441\u0442\u044c:<\/b> \u044d\u0442\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u0430\u0434\u0430\u043f\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0430 \u0438\u0437 \u0441\u0442\u0430\u0442\u044c\u0438 \u0432 \u0431\u043b\u043e\u0433\u0435 SiSense <a href=\"https:\/\/www.sisense.com\/blog\/analyzing-your-email-with-sql\/\">\u00ab\u0410\u043d\u0430\u043b\u0438\u0437 \u0432\u0430\u0448\u0435\u0439 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u043f\u043e\u0447\u0442\u044b \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e SQL\u00bb<\/a>.<\/p>\n<p>  <b>\u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442:<\/b> \u0441\u043a\u0430\u0436\u0435\u043c, \u043d\u0430\u0448\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0430 <code>emails<\/code> \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u044b\u0435 \u043f\u0438\u0441\u044c\u043c\u0430, \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u0441 \u0430\u0434\u0440\u0435\u0441\u0430 <code>zach@g.com<\/code> \u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u043d\u0430 \u043d\u0435\u0433\u043e:<\/p>\n<pre>| id | subject  | from         | to           | timestamp           | |----|----------|--------------|--------------|---------------------| | 1  | Yosemite | zach@g.com   | thomas@g.com | 2018-01-02 12:45:03 | | 2  | Big Sur  | sarah@g.com  | thomas@g.com | 2018-01-02 16:30:01 | | 3  | Yosemite | thomas@g.com | zach@g.com   | 2018-01-02 16:35:04 | | 4  | Running  | jill@g.com   | zach@g.com   | 2018-01-03 08:12:45 | | 5  | Yosemite | zach@g.com   | thomas@g.com | 2018-01-03 14:02:01 | | 6  | Yosemite | thomas@g.com | zach@g.com   | 2018-01-03 15:01:05 | | .. | ..       | ..           | ..           | ..                  |<\/pre>\n<p>  <b>\u0417\u0430\u0434\u0430\u0447\u0430:<\/b>\u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0432\u0440\u0435\u043c\u044f \u043e\u0442\u043a\u043b\u0438\u043a\u0430 \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u0435 \u043f\u0438\u0441\u044c\u043c\u043e (<code>id<\/code>), \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u043e\u0435 \u043d\u0430 <code>zach@g.com<\/code>. \u041d\u0435 \u0432\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u043f\u0438\u0441\u044c\u043c\u0430 \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0435 \u0430\u0434\u0440\u0435\u0441\u0430. \u041f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u043c, \u0447\u0442\u043e \u0443 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0442\u0440\u0435\u0434\u0430 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u0430\u044f \u0442\u0435\u043c\u0430. \u0418\u043c\u0435\u0439\u0442\u0435 \u0432 \u0432\u0438\u0434\u0443, \u0447\u0442\u043e \u0432 \u0442\u0440\u0435\u0434\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0438\u0441\u0435\u043c \u0442\u0443\u0434\u0430 \u0438 \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u043c\u0435\u0436\u0434\u0443 <code>zach@g.com<\/code> \u0438 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u0430\u0434\u0440\u0435\u0441\u0430\u0442\u0430\u043c\u0438.<\/p>\n<p>  <b>\u0420\u0435\u0448\u0435\u043d\u0438\u0435:<\/b><\/p>\n<pre><code class=\"sql\">SELECT      a.id,      MIN(b.timestamp) - a.timestamp as time_to_respond  FROM      emails a  JOIN     emails b          ON              b.subject = a.subject          AND              a.to = b.from         AND              a.from = b.to          AND              a.timestamp &lt; b.timestamp   WHERE      a.to = 'zach@g.com'   GROUP BY      a.id <\/code><\/pre>\n<p>  <a name=\"14\"><\/a><\/p>\n<h1>\u0417\u0430\u0434\u0430\u0447\u0438 \u043d\u0430 \u043e\u043a\u043e\u043d\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438<\/h1>\n<p>  <a name=\"15\"><\/a><\/p>\n<h2>\u2116 1. \u041d\u0430\u0439\u0442\u0438 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0441 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c<\/h2>\n<p>  <b>\u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442:<\/b> \u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u0430 <code>salaries<\/code> \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u043e\u0431 \u043e\u0442\u0434\u0435\u043b\u0430\u0445 \u0438 \u0437\u0430\u0440\u043f\u043b\u0430\u0442\u0435 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432 \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435:<\/p>\n<pre>  depname  | empno | salary |      -----------+-------+--------+  develop   |    11 |   5200 |   develop   |     7 |   4200 |   develop   |     9 |   4500 |   develop   |     8 |   6000 |   develop   |    10 |   5200 |   personnel |     5 |   3500 |   personnel |     2 |   3900 |   sales     |     3 |   4800 |   sales     |     1 |   5000 |   sales     |     4 |   4800 |<\/pre>\n<p>  <b>\u0417\u0430\u0434\u0430\u0447\u0430<\/b>: \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c <code>empno<\/code> \u0441 \u0441\u0430\u043c\u043e\u0439 \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u0437\u0430\u0440\u043f\u043b\u0430\u0442\u043e\u0439. \u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u0432\u0430\u0448\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0441\u043b\u0443\u0447\u0430\u0438 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0445 \u0437\u0430\u0440\u043f\u043b\u0430\u0442\u0430\u043c\u0438!<\/p>\n<p>  <b>\u0420\u0435\u0448\u0435\u043d\u0438\u0435:<\/b><\/p>\n<pre><code class=\"sql\">WITH max_salary AS (     SELECT          MAX(salary) max_salary     FROM          salaries     ) SELECT      s.empno FROM      salaries s JOIN      max_salary ms ON s.salary = ms.max_salary<\/code><\/pre>\n<p>  \u0410\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c <code>RANK()<\/code>:<\/p>\n<pre><code class=\"sql\">WITH sal_rank AS    (SELECT      empno,      RANK() OVER(ORDER BY salary DESC) rnk   FROM      salaries) SELECT    empno FROM   sal_rank WHERE    rnk = 1;<\/code><\/pre>\n<p>  <a name=\"16\"><\/a><\/p>\n<h2>\u2116 2. \u0421\u0440\u0435\u0434\u043d\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0438 \u0440\u0430\u043d\u0436\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441 \u043e\u043a\u043e\u043d\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 (\u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0447\u0430\u0441\u0442\u0435\u0439)<\/h2>\n<p>  <a name=\"17\"><\/a><\/p>\n<h3>\u0427\u0430\u0441\u0442\u044c 1<\/h3>\n<p>  <b>\u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442<\/b>: \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u0430 <code>salaries<\/code> \u0432 \u0442\u0430\u043a\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435:<\/p>\n<pre>  depname  | empno | salary |      -----------+-------+--------+  develop   |    11 |   5200 |   develop   |     7 |   4200 |   develop   |     9 |   4500 |   develop   |     8 |   6000 |   develop   |    10 |   5200 |   personnel |     5 |   3500 |   personnel |     2 |   3900 |   sales     |     3 |   4800 |   sales     |     1 |   5000 |   sales     |     4 |   4800 | <\/pre>\n<p>  <b>\u0417\u0430\u0434\u0430\u0447\u0430:<\/b> \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0442\u0443 \u0436\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u0443, \u043d\u043e \u0441 \u043d\u043e\u0432\u044b\u043c \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u043c, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0443\u043a\u0430\u0437\u0430\u043d\u0430 \u0441\u0440\u0435\u0434\u043d\u044f\u044f \u0437\u0430\u0440\u043f\u043b\u0430\u0442\u0430 \u043f\u043e \u0434\u0435\u043f\u0430\u0440\u0442\u0430\u043c\u0435\u043d\u0442\u0443. \u041c\u044b \u0431\u044b \u043e\u0436\u0438\u0434\u0430\u043b\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0432 \u0442\u0430\u043a\u043e\u043c \u0432\u0438\u0434\u0435:<\/p>\n<pre>  depname  | empno | salary | avg_salary |      -----------+-------+--------+------------+  develop   |    11 |   5200 |       5020 |  develop   |     7 |   4200 |       5020 |   develop   |     9 |   4500 |       5020 |  develop   |     8 |   6000 |       5020 |   develop   |    10 |   5200 |       5020 |   personnel |     5 |   3500 |       3700 |  personnel |     2 |   3900 |       3700 |  sales     |     3 |   4800 |       4867 |   sales     |     1 |   5000 |       4867 |   sales     |     4 |   4800 |       4867 |<\/pre>\n<p>  <b>\u0420\u0435\u0448\u0435\u043d\u0438\u0435:<\/b><\/p>\n<pre><code class=\"sql\">SELECT      *,      \/*     * AVG() is a Postgres command, but other SQL flavors like BigQuery use      * AVERAGE()     *\/      ROUND(AVG(salary),0) OVER (PARTITION BY depname) avg_salary FROM     salaries<\/code><\/pre>\n<p>  <a name=\"18\"><\/a><\/p>\n<h3>\u0427\u0430\u0441\u0442\u044c 2<\/h3>\n<p>  <b>\u0417\u0430\u0434\u0430\u0447\u0430:<\/b> \u043d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u0437\u0430\u043f\u0440\u043e\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u0442\u043e\u043b\u0431\u0435\u0446 \u0441 \u043f\u043e\u0437\u0438\u0446\u0438\u0435\u0439 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430 \u0432 \u0442\u0430\u0431\u0435\u043b\u0438 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0435\u0433\u043e \u0437\u0430\u0440\u043f\u043b\u0430\u0442\u044b \u0432 \u0441\u0432\u043e\u0451\u043c \u043e\u0442\u0434\u0435\u043b\u0435, \u0433\u0434\u0435 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a \u0441 \u0441\u0430\u043c\u043e\u0439 \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u0437\u0430\u0440\u043f\u043b\u0430\u0442\u043e\u0439 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u043f\u043e\u0437\u0438\u0446\u0438\u044e 1. \u041c\u044b \u0431\u044b \u043e\u0436\u0438\u0434\u0430\u043b\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0432 \u0442\u0430\u043a\u043e\u043c \u0432\u0438\u0434\u0435:<\/p>\n<pre>  depname  | empno | salary | salary_rank |      -----------+-------+--------+-------------+  develop   |    11 |   5200 |           2 |  develop   |     7 |   4200 |           5 |   develop   |     9 |   4500 |           4 |  develop   |     8 |   6000 |           1 |   develop   |    10 |   5200 |           2 |   personnel |     5 |   3500 |           2 |  personnel |     2 |   3900 |           1 |  sales     |     3 |   4800 |           2 |   sales     |     1 |   5000 |           1 |   sales     |     4 |   4800 |           2 | <\/pre>\n<p>  <b>\u0420\u0435\u0448\u0435\u043d\u0438\u0435:<\/b><\/p>\n<pre><code class=\"sql\">SELECT      *,      RANK() OVER(PARTITION BY depname ORDER BY salary DESC) salary_rank  FROM       salaries <\/code><\/pre>\n<p>  <a name=\"19\"><\/a><\/p>\n<h1>\u0414\u0440\u0443\u0433\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u0441\u0440\u0435\u0434\u043d\u0435\u0439 \u0438 \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438<\/h1>\n<p>  <a name=\"20\"><\/a><\/p>\n<h2>\u2116 1. \u0413\u0438\u0441\u0442\u043e\u0433\u0440\u0430\u043c\u043c\u044b<\/h2>\n<p>  <b>\u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442:<\/b> \u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u0430 <code>sessions<\/code>, \u0433\u0434\u0435 \u043a\u0430\u0436\u0434\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u0441\u0435\u0430\u043d\u0441 \u043f\u043e\u0442\u043e\u043a\u043e\u0432\u043e\u0439 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0432\u0438\u0434\u0435\u043e \u0441 \u0434\u043b\u0438\u043d\u043e\u0439 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0430\u0445:<\/p>\n<pre>| session_id | length_seconds | |------------|----------------| | 1          | 23             | | 2          | 453            | | 3          | 27             | | ..         | ..             |<\/pre>\n<p>  <b>\u0417\u0430\u0434\u0430\u0447\u0430:<\/b> \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0434\u0441\u0447\u0438\u0442\u0430\u0442\u044c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u0435\u0430\u043d\u0441\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u043f\u0430\u0434\u0430\u044e\u0442 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043a\u0438 \u043f\u043e \u043f\u044f\u0442\u044c \u0441\u0435\u043a\u0443\u043d\u0434, \u0442. \u0435. \u0434\u043b\u044f \u043f\u0440\u0438\u0432\u0435\u0434\u0451\u043d\u043d\u043e\u0433\u043e \u0432\u044b\u0448\u0435 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a\u043e\u0439:<\/p>\n<pre>| bucket  | count | |---------|-------| | 20-25   | 2     | | 450-455 | 1     |<\/pre>\n<p>  \u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u043e\u0446\u0435\u043d\u043a\u0430 \u0437\u0430\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0437\u0430 \u043d\u0430\u0434\u043b\u0435\u0436\u0430\u0449\u0438\u0435 \u043c\u0435\u0442\u043a\u0438 \u0441\u0442\u0440\u043e\u043a (&quot;5-10&quot; \u0438 \u0442.\u00a0\u0434.)<\/p>\n<p>  <b>\u0420\u0435\u0448\u0435\u043d\u0438\u0435:<\/b><\/p>\n<pre><code class=\"sql\">WITH bin_label AS  (SELECT      session_id,      FLOOR(length_seconds\/5) as bin_label   FROM     sessions   )  SELECT      CONCATENTATE(STR(bin_label*5), '-', STR(bin_label*5+5)) bucket,      COUNT(DISTINCT session_id) count   GROUP BY      bin_label  ORDER BY      bin_label ASC <\/code><\/pre>\n<p>  <a name=\"21\"><\/a><\/p>\n<h2>\u2116 2. \u041f\u0435\u0440\u0435\u043a\u0440\u0451\u0441\u0442\u043d\u043e\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 (\u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0447\u0430\u0441\u0442\u0435\u0439)<\/h2>\n<p>  <a name=\"22\"><\/a><\/p>\n<h3>\u0427\u0430\u0441\u0442\u044c 1<\/h3>\n<p>  <b>\u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442:<\/b> \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u0430 <code>state_streams<\/code>, \u0433\u0434\u0435 \u0432 \u043a\u0430\u0436\u0434\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0448\u0442\u0430\u0442\u0430 \u0438 \u043e\u0431\u0449\u0435\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0447\u0430\u0441\u043e\u0432 \u043f\u043e\u0442\u043e\u043a\u043e\u0432\u043e\u0439 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0441 \u0432\u0438\u0434\u0435\u043e\u0445\u043e\u0441\u0442\u0438\u043d\u0433\u0430:<\/p>\n<pre>| state | total_streams | |-------|---------------| | NC    | 34569         | | SC    | 33999         | | CA    | 98324         | | MA    | 19345         | | ..    | ..            |<\/pre>\n<p>  (\u041d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u0432 \u0430\u0433\u0440\u0435\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u0445 \u0442\u0430\u043a\u043e\u0433\u043e \u0442\u0438\u043f\u0430 \u043e\u0431\u044b\u0447\u043d\u043e \u0435\u0441\u0442\u044c \u0435\u0449\u0451 \u0441\u0442\u043e\u043b\u0431\u0435\u0446 \u0434\u0430\u0442\u044b, \u043d\u043e \u0434\u043b\u044f \u044d\u0442\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 \u043c\u044b \u0435\u0433\u043e \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u043c)<\/p>\n<p>  <b>\u0417\u0430\u0434\u0430\u0447\u0430:<\/b> \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u0430\u0440\u044b \u0448\u0442\u0430\u0442\u043e\u0432 \u0441 \u043e\u0431\u0449\u0438\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u0432 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u0445 \u0442\u044b\u0441\u044f\u0447\u0438 \u0434\u0440\u0443\u0433 \u043e\u0442 \u0434\u0440\u0443\u0433\u0430. \u0414\u043b\u044f \u043f\u0440\u0438\u0432\u0435\u0434\u0451\u043d\u043d\u043e\u0433\u043e \u0432\u044b\u0448\u0435 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u0430 \u043c\u044b \u0445\u043e\u0442\u0435\u043b\u0438 \u0431\u044b \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0447\u0442\u043e-\u0442\u043e \u0432\u0440\u043e\u0434\u0435:<\/p>\n<pre>| state_a | state_b | |---------|---------| | NC      | SC      | | SC      | NC      |<\/pre>\n<p>  <b>\u0420\u0435\u0448\u0435\u043d\u0438\u0435:<\/b><\/p>\n<pre><code class=\"sql\">SELECT     a.state as state_a,      b.state as state_b   FROM        state_streams a  CROSS JOIN      state_streams b   WHERE      ABS(a.total_streams - b.total_streams) &lt; 1000     AND      a.state &lt;&gt; b.state <\/code><\/pre>\n<p>  \u0414\u043b\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438, \u043f\u0435\u0440\u0435\u043a\u0440\u0451\u0441\u0442\u043d\u044b\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u0438\u0441\u0430\u0442\u044c \u0431\u0435\u0437 \u044f\u0432\u043d\u043e\u0433\u043e \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f:<\/p>\n<pre><code class=\"sql\">SELECT     a.state as state_a,      b.state as state_b   FROM        state_streams a, state_streams b   WHERE      ABS(a.total_streams - b.total_streams) &lt; 1000     AND      a.state &lt;&gt; b.state <\/code><\/pre>\n<p>  <a name=\"23\"><\/a><\/p>\n<h3>\u0427\u0430\u0441\u0442\u044c 2<\/h3>\n<p>  <b>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435:<\/b> \u044d\u0442\u043e\u0442 \u0441\u043a\u043e\u0440\u0435\u0435 \u0431\u043e\u043d\u0443\u0441\u043d\u044b\u0439 \u0432\u043e\u043f\u0440\u043e\u0441, \u0447\u0435\u043c \u0440\u0435\u0430\u043b\u044c\u043d\u043e \u0432\u0430\u0436\u043d\u044b\u0439 \u0448\u0430\u0431\u043b\u043e\u043d SQL. \u041c\u043e\u0436\u0435\u0442\u0435 \u0435\u0433\u043e \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c!<\/p>\n<p>  <b>\u0417\u0430\u0434\u0430\u0447\u0430:<\/b> \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c SQL \u0438\u0437 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f, \u0447\u0442\u043e\u0431\u044b \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u044b? \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0442\u043e\u0439 \u0436\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b, \u0447\u0442\u043e\u0431\u044b \u043f\u0430\u0440\u0430 <code>NC<\/code> \u0438 <code>SC<\/code> \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d \u0440\u0430\u0437, \u0430 \u043d\u0435 \u0434\u0432\u0430.<\/p>\n<p>  <b>\u0420\u0435\u0448\u0435\u043d\u0438\u0435:<\/b><\/p>\n<pre><code class=\"sql\">SELECT     a.state as state_a,      b.state as state_b   FROM        state_streams a, state_streams b   WHERE      ABS(a.total_streams - b.total_streams) &lt; 1000     AND      a.state &gt; b.state <\/code><\/pre>\n<p>  <a name=\"24\"><\/a><\/p>\n<h2>\u2116 3. \u041f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u044b\u0435 \u0440\u0430\u0441\u0447\u0451\u0442\u044b<\/h2>\n<p>  <b>\u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u043d\u043e\u0441\u0442\u044c:<\/b> \u044d\u0442\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u0430\u0434\u0430\u043f\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0430 \u0438\u0437 <a href=\"https:\/\/stackoverflow.com\/questions\/54488894\/using-case-to-properly-count-items-with-if-else-logic-in-sql\">\u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u044f<\/a> \u043f\u043e \u0432\u043e\u043f\u0440\u043e\u0441\u0443, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044f \u0437\u0430\u0434\u0430\u043b \u043d\u0430 StackOverflow (\u043c\u043e\u0439 \u043d\u0438\u043a zthomas.nc).<\/p>\n<p>  <b>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435:<\/b> \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e, \u044d\u0442\u043e \u0431\u043e\u043b\u0435\u0435 \u0441\u043b\u043e\u0436\u043d\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430, \u0447\u0435\u043c \u0432\u0430\u043c \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0430\u0442 \u043d\u0430 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0438. \u0412\u043e\u0441\u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0439\u0442\u0435 \u0435\u0451 \u0441\u043a\u043e\u0440\u0435\u0435 \u043a\u0430\u043a \u0433\u043e\u043b\u043e\u0432\u043e\u043b\u043e\u043c\u043a\u0443\u00a0\u2014 \u0438\u043b\u0438 \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0435\u0451!<\/p>\n<p>  <b>\u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442:<\/b> \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u0430 <code>table<\/code> \u0442\u0430\u043a\u043e\u0433\u043e \u0432\u0438\u0434\u0430, \u0433\u0434\u0435 \u043e\u0434\u043d\u043e\u043c\u0443 \u0438 \u0442\u043e\u043c\u0443 \u0436\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e <code>user<\/code> \u043c\u043e\u0433\u0443\u0442 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0440\u0430\u0437\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043a\u043b\u0430\u0441\u0441\u0430 <code>class<\/code>:<\/p>\n<pre>| user | class | |------|-------| | 1    | a     | | 1    | b     | | 1    | b     | | 2    | b     | | 3    | a     |<\/pre>\n<p>  <b>\u0417\u0430\u0434\u0430\u0447\u0430:<\/b> \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u043c, \u0447\u0442\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u0432\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043a\u043b\u0430\u0441\u0441\u0430. \u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u0437\u0430\u043f\u0440\u043e\u0441 \u0434\u043b\u044f \u043f\u043e\u0434\u0441\u0447\u0451\u0442\u0430 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0432 \u043a\u0430\u0436\u0434\u043e\u043c \u043a\u043b\u0430\u0441\u0441\u0435. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u0441 \u043e\u0431\u0435\u0438\u043c\u0438 \u043c\u0435\u0442\u043a\u0430\u043c\u0438 <code>a<\/code> \u0438 <code>b<\/code> \u0434\u043e\u043b\u0436\u043d\u044b \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u044c\u0441\u044f \u043a \u043a\u043b\u0430\u0441\u0441\u0443 <code>b<\/code>.<\/p>\n<p>  \u0414\u043b\u044f \u043d\u0430\u0448\u0435\u0433\u043e \u043e\u0431\u0440\u0430\u0437\u0446\u0430 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f \u0442\u0430\u043a\u043e\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:<\/p>\n<pre>| class | count | |-------|-------| | a     | 1     | | b     | 2     |<\/pre>\n<p>  <b>\u0420\u0435\u0448\u0435\u043d\u0438\u0435:<\/b><\/p>\n<pre><code class=\"sql\">WITH usr_b_sum AS  (     SELECT          user,          SUM(CASE WHEN class = 'b' THEN 1 ELSE 0 END) num_b     FROM          table     GROUP BY          user ),   usr_class_label AS  (     SELECT          user,          CASE WHEN num_b &gt; 0 THEN 'b' ELSE 'a' END class      FROM          usr_b_sum )  SELECT      class,      COUNT(DISTINCT user) count  FROM     usr_class_label GROUP BY      class  ORDER BY      class ASC<\/code><\/pre>\n<p>  \u0410\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 <code>SELECT<\/code> \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430\u0445 <code>SELECT<\/code> \u0438 <code>UNION<\/code>:<\/p>\n<pre><code class=\"sql\">SELECT      &quot;a&quot; class,     COUNT(DISTINCT user_id) -          (SELECT COUNT(DISTINCT user_id) FROM table WHERE class = 'b') count  UNION SELECT      &quot;b&quot; class,     (SELECT COUNT(DISTINCT user_id) FROM table WHERE class = 'b') count <\/code><\/pre>\n<\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/company\/dcmiran\/blog\/500360\/\"> https:\/\/habr.com\/ru\/company\/dcmiran\/blog\/500360\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\" data-io-article-url=\"https:\/\/habr.com\/ru\/company\/dcmiran\/blog\/500360\/\"><i>\u041f\u0435\u0440\u0432\u044b\u0435 70% \u043a\u0443\u0440\u0441\u0430 \u043f\u043e SQL \u043a\u0430\u0436\u0443\u0442\u0441\u044f \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u044b\u043c\u0438. \u0421\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0442\u0441\u044f \u043d\u0430 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 30%.<\/i><\/p>\n<p>  \u0421 2015 \u043f\u043e 2019 \u0433\u043e\u0434\u044b \u044f \u043f\u0440\u043e\u0448\u0451\u043b \u0447\u0435\u0442\u044b\u0440\u0435 \u0446\u0438\u043a\u043b\u0430 \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0439 \u043d\u0430 \u0434\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u0430 \u043f\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0431\u043e\u043b\u0435\u0435 \u0447\u0435\u043c \u0434\u0435\u0441\u044f\u0442\u043a\u0435 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0439. \u041f\u043e\u0441\u043b\u0435 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0433\u043e \u043d\u0435\u0443\u0434\u0430\u0447\u043d\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0432\u044c\u044e \u0432 2017 \u0433\u043e\u0434\u0443\u00a0\u2014 \u043a\u043e\u0433\u0434\u0430 \u044f \u0437\u0430\u043f\u0443\u0442\u0430\u043b\u0441\u044f \u0432 \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0432\u043e\u043f\u0440\u043e\u0441\u0430\u0445 \u043f\u043e SQL\u00a0\u2014 \u044f \u043d\u0430\u0447\u0430\u043b \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0437\u0430\u0434\u0430\u0447\u043d\u0438\u043a \u0441 \u0432\u043e\u043f\u0440\u043e\u0441\u0430\u043c\u0438 \u043f\u043e SQL \u0441\u0440\u0435\u0434\u043d\u0435\u0439 \u0438 \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438, \u0447\u0442\u043e\u0431\u044b \u043b\u0443\u0447\u0448\u0435 \u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c\u0441\u044f \u043a \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f\u043c. \u042d\u0442\u043e\u0442 \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u043b\u0441\u044f \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u043c \u0446\u0438\u043a\u043b\u0435 \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0439 2019 \u0433\u043e\u0434\u0430. \u0417\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0433\u043e\u0434 \u044f \u043f\u043e\u0434\u0435\u043b\u0438\u043b\u0441\u044f \u044d\u0442\u0438\u043c \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e\u043c \u0441 \u043f\u0430\u0440\u043e\u0439 \u0434\u0440\u0443\u0437\u0435\u0439, \u0430 \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u043c\u0443 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u043c\u0443 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0438\u0437-\u0437\u0430 \u043f\u0430\u043d\u0434\u0435\u043c\u0438\u0438 \u043e\u0442\u0448\u043b\u0438\u0444\u043e\u0432\u0430\u043b \u0435\u0433\u043e\u00a0\u2014 \u0438 \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u043b \u044d\u0442\u043e\u0442 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442.<\/p>\n<p>  \u0415\u0441\u0442\u044c \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043e\u0442\u043b\u0438\u0447\u043d\u044b\u0445 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432 \u043f\u043e SQL \u0434\u043b\u044f \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u0445. \u041c\u043e\u0438 \u043b\u044e\u0431\u0438\u043c\u044b\u0435\u00a0\u2014 \u044d\u0442\u043e <a href=\"https:\/\/www.codecademy.com\/learn\/learn-sql\">\u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0435 \u043a\u0443\u0440\u0441\u044b Codecademy \u043f\u043e SQL<\/a> \u0438 <a href=\"https:\/\/selectstarsql.com\/\">Select Star SQL<\/a> \u043e\u0442 \u0426\u0437\u044b \u0427\u043e\u043d \u041a\u0430\u043e. \u041d\u043e \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043f\u0435\u0440\u0432\u044b\u0435 70% \u0438\u0437 \u043a\u0443\u0440\u0441\u0430 SQL \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u044b, \u0430 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0435 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0442\u0441\u044f \u0432 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 30%, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u043e\u0441\u0432\u0435\u0449\u0430\u044e\u0442\u0441\u044f \u0432 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0430\u0445 \u0434\u043b\u044f \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u0445. \u0422\u0430\u043a \u0432\u043e\u0442, \u043d\u0430 \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f\u0445 \u0434\u043b\u044f \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u043e\u0432 \u043f\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f\u0445 \u0447\u0430\u0441\u0442\u043e \u0437\u0430\u0434\u0430\u044e\u0442 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u0438\u043c\u0435\u043d\u043d\u043e \u043f\u043e \u044d\u0442\u0438\u043c 30%.<\/p>\n<p>  \u0423\u0434\u0438\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u043d\u043e \u044f \u043d\u0435 \u043d\u0430\u0448\u0451\u043b \u0438\u0441\u0447\u0435\u0440\u043f\u044b\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430 \u043f\u043e \u0442\u0430\u043a\u0438\u043c \u0432\u043e\u043f\u0440\u043e\u0441\u0430\u043c \u0441\u0440\u0435\u0434\u043d\u0435\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u043b \u0434\u0430\u043d\u043d\u043e\u0435 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e.  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-302989","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/302989","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=302989"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/302989\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=302989"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=302989"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=302989"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}