Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³

ΠΠ°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³

Π•ΡΡ‚ΡŒ нСсколько способ ΠΏΠΎΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³ Π² Excel. Один ΠΈΠ· самых простых способов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ «БУММ» совмСстно с постоянными ссылками Π½Π° ячСйки.

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³

Π£ нас Π΅ΡΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Π°, ΠΎΡ‚Ρ€Π°ΠΆΠ°ΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΠ΄Π°ΠΆΠΈ Π΄Π²ΡƒΡ… Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ² Π·Π° ΠΏΠΎΠ»Π³ΠΎΠ΄Π°. НСобходимо Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ столбСц F Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ ΠΈΡ‚ΠΎΠ³ΠΈ ΠΏΡ€ΠΎΠ΄Π°ΠΆ ΠΊΠ°ΠΊ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³.

Π€ΠΎΡ€ΠΌΡƒΠ»Π°

Π’Π²Π΅Π΄Π΅ΠΌ Π² ячСйку F3 ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ β€” =БУММ($E$3:E3). И растянСм Π΅Π΅ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ячСйки. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π° Π±Ρ‹Π»Π° Π²ΠΎ всСм Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ячССк, ΠΎΡ‚ F3 Π΄ΠΎ F8. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Ρ‚Π°ΠΊΠΎΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ ΠΈ Ρ…ΠΎΡ‚Π΅Π»ΠΈ, Π² столбцС Β«Π˜Ρ‚ΠΎΠ³ΠΎ Π·Π° Π³ΠΎΠ΄Β» Ρƒ нас ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΈΡ‚ΠΎΠ³ΠΈ с Π½Π°Ρ‡Π°Π»Π° Π³ΠΎΠ΄Π°.

Π›ΠΎΠ³ΠΈΠΊΠ° дСйствия Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΡ‡Π΅Π½ΡŒ проста, Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ ячСйкС ссылка Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ «БУММ» ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π΅ Π½Π° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, Π° Π½Π° ΠΎΠ΄Π½Ρƒ ячСйку Π•3. Ѐункция «БУММ» ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ячССк, ΠΈ Π² случаС, ΠΊΠΎΠ³Π΄Π° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ состоит ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ячСйки, функция Π΅Π³ΠΎ ΠΈ воспринимаСт ΠΊΠ°ΠΊ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π΄Π»ΠΈΠ½Π½ΠΎΠΉ 1 ячСйка, фактичСский просто возвращая Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. ПослС Π²Π²ΠΎΠ΄Π° Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ Π² ячСйку F3 ΠΌΡ‹ растягивали Π΅Π΅ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ячСйки, ΠΈ для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎ Π±Ρ‹ Excel Π½Π΅ сдвигал автоматичСский ссылку с ΠΏΠ΅Ρ€Π²ΠΎΠΉ ячСйки Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°, ΠΌΡ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ Π΅Π΅ ΠΊΠ°ΠΊ ΡΡ‚Π°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ. Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΏΡ€ΠΈ распространСнии дСйствия Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ячСйки. Π§Ρ‚ΠΎ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΌΡƒ ΠΈΡ‚ΠΎΠ³Ρƒ, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Π² послСднСм Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ нашСго столбца Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ(ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ) ΠΈΡ‚ΠΎΠ³ SQL ΠΈ ΠΊΠ°ΠΊ Π΅Π³ΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ?

РасчСт ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΠΈΡ‚ΠΎΠ³Π° SQL β€” это ΠΎΡ‡Π΅Π½ΡŒ распространСнный шаблон, часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π² Π°Π½Π°Π»ΠΈΠ·Π΅. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³ ΠΈ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ SQL-запрос для Π΅Π³ΠΎ вычислСния.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³ SQL?

Π’ SQL ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³ β€” это совокупная сумма ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… чисСл Π² столбцС. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½ΠΈΠΆΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ прСдставлСн список ΠΏΡ€ΠΎΠ΄Π°ΠΆ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² Π² дСнь:

Π”Π°Ρ‚Π° ΠΏΡ€ΠΎΠ΄Π°ΠΆΠΈΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΎΠ΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ²ΠΠ°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³
2021-04-101010
2021-04-111525
2021-04-12530

Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ столбцС отобраТаСтся Π΄Π°Ρ‚Π°. Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ столбцС ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ количСство ΠΏΡ€ΠΎΠ΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² Π² этот дСнь. Π’ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΌ столбцС [ΠΠ°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³] суммируСтся ΠΎΠ±Ρ‰Π΅Π΅ количСство ΠΏΡ€ΠΎΠ΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² Π² этот дСнь.

НапримСр, Π² ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ дСнь (2021-04-10) сотрудник ΠΏΡ€ΠΎΠ΄Π°Π» 10 ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ², ΠΈ ΠΎΠ±Ρ‰Π΅Π΅ количСство ΠΏΡ€ΠΎΠ΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² составило 10. На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ дСнь (2021-04-11) сотрудник ΠΏΡ€ΠΎΠ΄Π°Π» 15 ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ²; [ΠΠ°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³] Ρ€Π°Π²Π΅Π½ 25 (10 + 15). На Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ дСнь (2021-04-12) сотрудник ΠΏΡ€ΠΎΠ΄Π°Π» ΠΏΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ², ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ [ΠΠ°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³] Ρ€Π°Π²Π΅Π½ 30. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, [ΠΠ°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³] β€” это Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ мСняСтся дСнь ΠΎΡ‚ΠΎ дня. Π­Ρ‚ΠΎ ΠΎΠ±Ρ‰Π΅Π΅ количСство ΠΏΡ€ΠΎΠ΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² Π·Π° дСнь.

Π”Π°Π»Π΅Π΅ ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ SQL-запросС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ ΠΈΡ‚ΠΎΠ³, ΠΈ ΡƒΠ·Π½Π°Π΅ΠΌ большС ΠΎΠ± ΠΎΠΊΠΎΠ½Π½Ρ‹Ρ… функциях.

Как Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ совокупный ΠΈΡ‚ΠΎΠ³ Π² MSSQL

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³ Π² MSSQL, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΎΠΊΠΎΠ½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, прСдоставляСмыС вашСй Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…. ΠžΠΊΠΎΠ½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с Π½Π°Π±ΠΎΡ€ΠΎΠΌ строк ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ Π°Π³Ρ€Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки Π² Π½Π°Π±ΠΎΡ€Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ².

Бинтаксис ΠΎΠΊΠΎΠ½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ SQL, Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡŽΡ‰Π΅ΠΉ совокупный ΠΈΡ‚ΠΎΠ³ ΠΏΠΎ строкам, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ:

window_function ( column ) OVER ( [ PARTITION BY partition_list ] [ ORDER BY order_list] )

ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ OVER ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΎΠΊΠΎΠ½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π² этом ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ ΠΎΠ±Ρ‰ΡƒΡŽ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ сумму ΠΏΡ€ΠΎΠ΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ дСнь.

Π”Π°Ρ‚Π° ΠΏΡ€ΠΎΠ΄Π°ΠΆΠΈΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΎΠ΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ²
2021-04-1010
2021-04-1115
2021-04-125

Π”Π°Π½Π½Ρ‹ΠΉ запрос Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ Π΄Π°Ρ‚Ρƒ ΠΏΡ€ΠΎΠ΄Π°ΠΆΠΈ для всСх ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. Нам Ρ‚Π°ΠΊΠΆΠ΅ Π½ΡƒΠΆΠ½Π° сумма всСх ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² Π·Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ дСнь, начиная с ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ дня (2021-04-10):

Π”Π°Ρ‚Π° ΠΏΡ€ΠΎΠ΄Π°ΠΆΠΈΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΎΠ΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ²ΠΠ°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³
2021-04-101010
2021-04-111525
2021-04-12530

Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³, ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ SUM()Π°Π³Ρ€Π΅Π³Π°Ρ‚Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ столбСц kolvo_product Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°; ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΡƒΡŽ сумму ΠΏΡ€ΠΎΠ΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² ΠΈΠ· этого столбца.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ шагом Π±ΡƒΠ΄Π΅Ρ‚ использованиС прСдлоТСния OVER. Π’ нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ это условиС ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚: ORDER BY c_date. Π‘Ρ‚Ρ€ΠΎΠΊΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ Π½Π°Π±ΠΎΡ€Π° ΡΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² соотвСтствии с этим столбцом ( c_date).

Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ значСния Π² столбцС c_date вычисляСтся общая сумма Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ столбца (Ρ‚. Π΅. сумма ΠΏΡ€ΠΎΠ΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² Π΄ΠΎ Π΄Π°Ρ‚Ρ‹ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ строкС) ΠΈ ΠΊ Π½Π΅ΠΉ добавляСтся Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (Ρ‚. Π΅. ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹, ΠΏΡ€ΠΎΠ΄Π°Π½Π½Ρ‹Π΅ Π² дСнь Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ строки). ΠžΠ±Ρ‰Π°Ρ сумма отобраТаСтся Π² Π½ΠΎΠ²ΠΎΠΌ столбцС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π½Π°Π·Π²Π°Π»ΠΈ total_product.

На ΠΏΠ΅Ρ€Π²ΠΎΠΌ этапС (Π”Π°Ρ‚Π° ΠΏΡ€ΠΎΠ΄Π°ΠΆΠΈ 2021-04-10) Ρƒ нас 10 ΠΏΡ€ΠΎΠ΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ². Π‘ΡƒΠΌΠΌΠ° ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ², ΠΏΡ€ΠΎΠ΄Π°Π½Π½Ρ‹Ρ… Π² этот дСнь, Ρ‚Π° ΠΆΠ΅ β€” 10. На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ шагС ΠΌΡ‹ прибавляСм ΠΊ этой ΠΎΠ±Ρ‰Π΅ΠΉ суммС (10) количСство ΠΏΡ€ΠΎΠ΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π΄Π°Ρ‚Ρƒ (2021-04-11) β€” 15; это Π΄Π°Π΅Ρ‚ Π½Π°ΠΌ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΡƒΡŽ сумму 25. Π’ послСднСй строкС Π½Π°Π±ΠΎΡ€Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² (для послСднСй Π΄Π°Ρ‚Ρ‹ ΠΏΡ€ΠΎΠ΄Π°ΠΆΠΈ, 2021-04-12) промСТуточная сумма Ρ€Π°Π²Π½Π° 30.

Благодаря ΠΎΠΊΠΎΠ½Π½Ρ‹ΠΌ функциям SQL Π»Π΅Π³ΠΊΠΎ Π½Π°ΠΉΡ‚ΠΈ кумулятивноС ΠΎΠ±Ρ‰Π΅Π΅ количСство ΠΏΡ€ΠΎΠ΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² Π·Π° Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. НапримСр, Π² ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ с 10 апрСля ΠΏΠΎ 12 апрСля 2021 Π³ΠΎΠ΄Π° ΠΎΠ±Ρ‰Π΅Π΅ количСство ΠΏΡ€ΠΎΠ΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² Ρ€Π°Π²Π½ΠΎ 30.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠΠ°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΈΡ‚ΠΎΠ³ΠΈ стр. 1

Π’ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ упорядочСнности строк Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки прСдставляСт собой сумму Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ числового столбца для этой строки ΠΈ всСх строк, располоТСнных Π²Ρ‹ΡˆΠ΅ Π΄Π°Π½Π½ΠΎΠΉ.

Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³ для ΠΏΠ΅Ρ€Π²ΠΎΠΉ строки Π² упорядочСнном Π½Π°Π±ΠΎΡ€Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π΅Π½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ Π² этой строкС. Для любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ строки Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π΅Π½ суммС значСния Π² этой строкС ΠΈ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈΡ‚ΠΎΠ³Π° Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ строкС.

Рассмотрим, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚Π°ΠΊΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ.

Для ΠΏΡƒΠ½ΠΊΡ‚Π° 2 ΠΏΠΎ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Outcome_o ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ дСнь суммарный расход Π·Π° этот дСнь ΠΈ всС ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ Π΄Π½ΠΈ.

Π’ΠΎΡ‚ запрос, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ расходах Π½Π° ΠΏΡƒΠ½ΠΊΡ‚Π΅ 2 Π² порядкС возрастания Π΄Π°Ρ‚Ρ‹

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³

pointdateout
22001-03-22 00:00:00.0001440.00
22001-03-29 00:00:00.0007848.00
22001-04-02 00:00:00.0002040.00

ЀактичСски, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ столбСц, содСрТащий Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³ (run_tot). Π’ соотвСтствии с Ρ‚Π΅ΠΌΠΎΠΉ, этот столбСц Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ собой ΠΊΠΎΡ€Ρ€Π΅Π»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ подзапрос, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ для Π’ΠžΠ“Πž Π–Π• ΠΏΡƒΠ½ΠΊΡ‚Π°, Ρ‡Ρ‚ΠΎ ΠΈ Ρƒ Π’Π•ΠšΠ£Π©Π•Π™ строки Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π³ΠΎ запроса, ΠΈ для всСх Π΄Π°Ρ‚, ΠΌΠ΅Π½ΡŒΡˆΠΈΡ… Π»ΠΈΠ±ΠΎ Ρ€Π°Π²Π½Ρ‹Ρ… Π΄Π°Ρ‚Π΅ Π’Π•ΠšΠ£Π©Π•Π™ строки Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π³ΠΎ запроса, Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ сумма Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ столбца out:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³

pointdateoutrun_tot
22001-03-22 00:00:00.0001440.001440.00
22001-03-29 00:00:00.0007848.009288.00
22001-04-02 00:00:00.0002040.0011328.00

БобствСнно, использованиС ΠΏΡƒΠ½ΠΊΡ‚Π° 2 ΠΏΡ€ΠΎΠ΄ΠΈΠΊΡ‚ΠΎΠ²Π°Π½ΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ΠΌ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΡƒΡŽ Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΈΡ‚ΠΎΠ³ΠΈ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ², ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Outcome_o, достаточно Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ строку

Ну Π° Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ «ΡΠΊΠ²ΠΎΠ·Π½ΠΎΠΉ» Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³ для всСй Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π½ΡƒΠΆΠ½ΠΎ, Π²ΠΈΠ΄ΠΈΠΌΠΎ, ΡƒΠ±Ρ€Π°Ρ‚ΡŒ условиС Π½Π° равСнство ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ²:

Однако ΠΏΡ€ΠΈ этом ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³ для Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ², Ρ€Π°Π±ΠΎΡ‚Π°Π²ΡˆΠΈΡ… Π² ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ дСнь. Π’ΠΎΡ‚ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΈΠ· Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ,

pointdateoutrun_tot
12001-03-29 00:00:00.0002004.0033599.00
22001-03-29 00:00:00.0007848.0033599.00

Но это Π½Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, Ссли ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΆΠ΅ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π² ΠΈΡ‚ΠΎΠ³Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ. Если нас интСрСсуСт Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½ΠΈΠ΅ расхода ΠΏΠΎ дням, Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ· Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΡƒΠ½ΠΊΡ‚ ΠΈ ΡΡƒΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ расходы ΠΏΠΎ дням:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠΠ°Ρ€Π°ΡΡ‚Π°ΡŽΡ‰ΠΈΠΉ ΠΈΡ‚ΠΎΠ³ Π² SQL

ΠΠ°Ρ€Π°ΡΡ‚Π°ΡŽΡ‰ΠΈΠΉ (Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ) ΠΈΡ‚ΠΎΠ³ Π΄ΠΎΠ»Π³ΠΎ считался ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² SQL. Π§Ρ‚ΠΎ ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π΄Π°ΠΆΠ΅ послС появлСния ΠΎΠΊΠΎΠ½Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΎΠ½ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡƒΠ³Π°Π»ΠΎΠΌ (Π²ΠΎ всяком случаС, для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²). БСгодня ΠΌΡ‹ рассмотрим ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΡƒ 10 самых интСрСсных Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ этой Π·Π°Π΄Π°Ρ‡ΠΈ – ΠΎΡ‚ ΠΎΠΊΠΎΠ½Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π΄ΠΎ вСсьма спСцифичСских Ρ…Π°ΠΊΠΎΠ².

Π’ элСктронных Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… Π²Ρ€ΠΎΠ΄Π΅ Excel Π½Π°Ρ€Π°ΡΡ‚Π°ΡŽΡ‰ΠΈΠΉ ΠΈΡ‚ΠΎΠ³ вычисляСтся ΠΎΡ‡Π΅Π½ΡŒ просто: Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ записи совпадаСт с Π΅Ρ‘ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³

… Π° Π·Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ суммируСм Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ ΠΈΡ‚ΠΎΠ³.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³

ПоявлСниС Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π΄Π²ΡƒΡ… ΠΈ Π±ΠΎΠ»Π΅Π΅ Π³Ρ€ΡƒΠΏΠΏ нСсколько услоТняСт Π·Π°Π΄Π°Ρ‡Ρƒ: Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ считаСм нСсколько ΠΈΡ‚ΠΎΠ³ΠΎΠ² (для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ). Π’ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, ΠΈ здСсь Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π»Π΅ΠΆΠΈΡ‚ Π½Π° повСрхности: Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ, ΠΊ ΠΊΠ°ΠΊΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠ΅ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ тСкущая запись. Click and drag, ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π°:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³

Как ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, подсчёт Π½Π°Ρ€Π°ΡΡ‚Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΈΡ‚ΠΎΠ³Π° связан с двумя Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΌΠΈ:
(Π°) сортировкой Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ Π΄Π°Ρ‚Π΅ ΠΈ
(Π±) ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΊ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ строкС.

Но Ρ‡Ρ‚ΠΎ SQL? ΠžΡ‡Π΅Π½ΡŒ Π΄ΠΎΠ»Π³ΠΎ Π² Π½Ρ‘ΠΌ Π½Π΅ Π±Ρ‹Π»ΠΎ Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π°. НСобходимый инструмСнт – ΠΎΠΊΠΎΠ½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ – Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ появился Ρ‚ΠΎΠ»ΡŒΠΊΠΎ стандартС SQL:2003. К этому ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρƒ ΠΎΠ½ΠΈ ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΈ Π² Oracle (вСрсия 8i). А Π²ΠΎΡ‚ рСализация Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… Π‘Π£Π‘Π” Π·Π°Π΄Π΅Ρ€ΠΆΠ°Π»Π°ΡΡŒ Π½Π° 5-10 Π»Π΅Ρ‚: SQL Server 2012, MySQL 8.0.2 (2018 Π³ΠΎΠ΄), MariaDB 10.2.0 (2017 Π³ΠΎΠ΄), PostgreSQL 8.4 (2009 Π³ΠΎΠ΄), DB2 9 для z/OS (2007 Π³ΠΎΠ΄), ΠΈ Π΄Π°ΠΆΠ΅ SQLite 3.25 (2018 Π³ΠΎΠ΄).

1. ΠžΠΊΠΎΠ½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

ΠžΠΊΠΎΠ½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ – вСроятно, самый простой способ. Π’ Π±Π°Π·ΠΎΠ²ΠΎΠΌ случаС (Ρ‚Π°Π±Π»ΠΈΡ†Π° Π±Π΅Π· Π³Ρ€ΡƒΠΏΠΏ) ΠΌΡ‹ рассматриваСм Π΄Π°Π½Π½Ρ‹Π΅, отсортированныС ΠΏΠΎ Π΄Π°Ρ‚Π΅:

… Π½ΠΎ нас ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ строки Π΄ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ:

Π’ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅, Π½Π°ΠΌ Π½ΡƒΠΆΠ½Π° сумма с этими ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ:

А ΠΏΠΎΠ»Π½Ρ‹ΠΉ запрос Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

Π’ случаС Π½Π°Ρ€Π°ΡΡ‚Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΈΡ‚ΠΎΠ³Π° ΠΏΠΎ Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌ (ΠΏΠΎΠ»Π΅ grp ) Π½Π°ΠΌ трСбуСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Π° нСбольшая ΠΏΡ€Π°Π²ΠΊΠ°. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ рассматриваСм Π΄Π°Π½Π½Ρ‹Π΅ ΠΊΠ°ΠΊ Ρ€Π°Π·Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ Π½Π° Β«ΠΎΠΊΠ½Π°Β» ΠΏΠΎ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΡƒ Π³Ρ€ΡƒΠΏΠΏΡ‹:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΡ‡Π΅ΡΡ‚ΡŒ это Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово partition by :

И, соотвСтствСнно, ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ сумму ΠΏΠΎ этим ΠΎΠΊΠ½Π°ΠΌ:

Π’ΠΎΠ³Π΄Π° вСсь запрос прСобразуСтся Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΎΠΊΠΎΠ½Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ спСцифики вашСй Π‘Π£Π‘Π” (ΠΈ Π΅Ρ‘ вСрсии!), Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, ΠΈ наличия индСксов. Но Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв этот ΠΌΠ΅Ρ‚ΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ самым эффСктивным. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΎΠΊΠΎΠ½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ нСдоступны Π² старых вСрсиях Π‘Π£Π‘Π” (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅Ρ‰Ρ‘ Π² Ρ…ΠΎΠ΄Ρƒ). ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΈΡ… Π½Π΅Ρ‚ Π² Ρ‚Π°ΠΊΠΈΡ… Π‘Π£Π‘Π” ΠΊΠ°ΠΊ Microsoft Access ΠΈ SAP/Sybase ASE. Если Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Π΅Π½Π΄ΠΎΡ€ΠΎ-нСзависимоС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, слСдуСт ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹.

2. ΠŸΠΎΠ΄Π·Π°ΠΏΡ€ΠΎΡ

Как Π±Ρ‹Π»ΠΎ сказано Π²Ρ‹ΡˆΠ΅, ΠΎΠΊΠΎΠ½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π±Ρ‹Π»ΠΈ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ·Π΄Π½ΠΎ Π²Π²Π΅Π΄Π΅Π½Ρ‹ Π² основных Π‘Π£Π‘Π”. Π­Ρ‚Π° Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΡƒΠ΄ΠΈΠ²Π»ΡΡ‚ΡŒ: Π² рСляционной Ρ‚Π΅ΠΎΡ€ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π΅ упорядочСны. ΠšΡƒΠ΄Π° большС Π΄ΡƒΡ…Ρƒ рСляционной Ρ‚Π΅ΠΎΡ€ΠΈΠΈ соотвСтствуСт Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· подзапрос.

Π’Π°ΠΊΠΎΠΉ подзапрос Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ сумму Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ с Π΄Π°Ρ‚ΠΎΠΉ Π΄ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ (ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ): Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³.

Π§Ρ‚ΠΎ Π² ΠΊΠΎΠ΄Π΅ выглядит Ρ‚Π°ΠΊ:

Π§ΡƒΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ эффСктивным Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ подзапрос считаСт ΠΈΡ‚ΠΎΠ³ Π΄ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π΄Π°Ρ‚Ρ‹ (Π½ΠΎ Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π΅Ρ‘), Π° Π·Π°Ρ‚Π΅ΠΌ суммируСт Π΅Π³ΠΎ со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π² строкС:

Π’ случаС Π½Π°Ρ€Π°ΡΡ‚Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΈΡ‚ΠΎΠ³Π° ΠΏΠΎ нСскольким Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ€Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ подзапрос:

УсловиС g.grp = t2.grp провСряСт строки Π½Π° Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π² Π³Ρ€ΡƒΠΏΠΏΡƒ (Ρ‡Ρ‚ΠΎ, Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, сходно с Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ partition by grp Π² ΠΎΠΊΠΎΠ½Π½Ρ‹Ρ… функциях).

3. Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ соСдинСниС

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ подзапросы ΠΈ Π΄ΠΆΠΎΠΉΠ½Ρ‹ взаимозамСняСмы, ΠΌΡ‹ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠ΄Π½ΠΎ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠ΅. Для этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Self Join, соСдинив Π΄Π²Π° экзСмпляра ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹:

Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ для случая с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌΠΈ grp :

4. Π”Π΅ΠΊΠ°Ρ€Ρ‚ΠΎΠ²ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Π Π°Π· ΡƒΠΆ ΠΌΡ‹ Π·Π°ΠΌΠ΅Π½ΠΈΠ»ΠΈ подзапрос Π½Π° join, Ρ‚ΠΎ ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π±Ρ‹ Π½Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π΅ΠΊΠ°Ρ€Ρ‚ΠΎΠ²ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅? Π­Ρ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€Π°Π²ΠΎΠΊ:

Или для случая с Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌΠΈ:

ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ (подзапрос, inner join, cartesian join) ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΠ²ΡƒΡŽΡ‚ SQL-92 ΠΈ SQL:1999, Π° ΠΏΠΎΡ‚ΠΎΠΌΡƒ Π±ΡƒΠ΄ΡƒΡ‚ доступны практичСски Π² любой Π‘Π£Π‘Π”. Основная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° всСх этих Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ Π² Π½ΠΈΠ·ΠΊΠΎΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π­Ρ‚ΠΎ Π½Π΅ Π²Π΅Π»ΠΈΠΊΠ° Π±Π΅Π΄Π°, Ссли ΠΌΡ‹ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΈΠ·ΡƒΠ΅ΠΌ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ с Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ (Π½ΠΎ вСдь всё Ρ€Π°Π²Π½ΠΎ хочСтся большСй скорости!). Π”Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΊΡƒΠ΄Π° Π±ΠΎΠ»Π΅Π΅ эффСктивны (с ΠΏΠΎΠΏΡ€Π°Π²ΠΊΠΎΠΉ Π½Π° ΡƒΠΆΠ΅ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ спСцифику ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… Π‘Π£Π‘Π” ΠΈ ΠΈΡ… вСрсий, Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, индСксы).

5. РСкурсивный запрос

Один ΠΈΠ· Π±ΠΎΠ»Π΅Π΅ спСцифичСских ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ² – это рСкурсивный запрос Π² common table expression. Для этого Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ Β«ΡΠΊΠΎΡ€ΡŒΒ» – запрос, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΠΉ ΡΠ°ΠΌΡƒΡŽ ΠΏΠ΅Ρ€Π²ΡƒΡŽ строку:

Π§Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°, Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‰Π°Ρ ΠΎΠ΄ΠΈΠ½ дСнь, Π½Π΅ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Π°. НапримСр, это r.dt = dateadd(day, 1, cte.dt) для SQL Server, r.dt = cte.dt + 1 для Oracle, ΠΈ Ρ‚.Π΄.

БовмСстив Β«ΡΠΊΠΎΡ€ΡŒΒ» ΠΈ основной запрос, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

РСшСниС для случая с Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ слоТнСС:

6. РСкурсивный запрос с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ row_number()

Π˜Ρ‚Π°ΠΊ, для рСкурсивного запроса с row_number() Π½Π°ΠΌ понадобится Π΄Π²Π° Π‘Π’Π•. Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΌΡ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½ΡƒΠΌΠ΅Ρ€ΡƒΠ΅ΠΌ строки:

… ΠΈ Ссли Π½ΠΎΠΌΠ΅Ρ€ строки ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±Π΅Π· Π½Π΅Π³ΠΎ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ запросС обращаСмся ΡƒΠΆΠ΅ ΠΊ cte1 :

А Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ запрос выглядит Ρ‚Π°ΠΊ:

… ΠΈΠ»ΠΈ для случая с Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌΠΈ:

7. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ CROSS APPLY / LATERAL

Один ΠΈΠ· самых экзотичСских способов расчёта Π½Π°Ρ€Π°ΡΡ‚Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΈΡ‚ΠΎΠ³Π° – это использованиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° CROSS APPLY (SQL Server, Oracle) ΠΈΠ»ΠΈ эквивалСнтного Π΅ΠΌΡƒ LATERAL (MySQL, PostgreSQL). Π­Ρ‚ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ появились довольно ΠΏΠΎΠ·Π΄Π½ΠΎ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Oracle Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с вСрсии 12c). А Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π‘Π£Π‘Π” (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, MariaDB) ΠΈΡ… ΠΈ вовсС Π½Π΅Ρ‚. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ это Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ прСдставляСт чисто эстСтичСский интСрСс.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ использованиС CROSS APPLY ΠΈΠ»ΠΈ LATERAL ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½ΠΎ подзапросу: ΠΌΡ‹ присоСдиняСм ΠΊ основному запросу Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ вычислСния:

… Ρ‡Ρ‚ΠΎ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ выглядит Ρ‚Π°ΠΊ:

ΠŸΠΎΡ…ΠΎΠΆΠΈΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ для случая с Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌΠΈ:

Π˜Ρ‚ΠΎΠ³ΠΎ: ΠΌΡ‹ рассмотрСли основныС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎ-нСзависимыС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. Но ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, спСцифичныС для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… Π‘Π£Π‘Π”! ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ здСсь Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ², остановимся Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ интСрСсных.

8. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ MODEL (Oracle)

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ MODEL Π² Oracle Π΄Π°Ρ‘Ρ‚ ΠΎΠ΄Π½ΠΎ ΠΈΠ· самых элСгантных Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ. Π’ Π½Π°Ρ‡Π°Π»Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΌΡ‹ рассмотрСли ΠΎΠ±Ρ‰ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ Π½Π°Ρ€Π°ΡΡ‚Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΈΡ‚ΠΎΠ³Π°:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³

MODEL позволяСт Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ! Для этого ΠΌΡ‹ сначала заполняСм ΠΏΠΎΠ»Π΅ total значСниями Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ строки

Ѐункция cv() здСсь ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ строки. А вСсь запрос Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

9. ΠšΡƒΡ€ΡΠΎΡ€ (SQL Server)

ΠΠ°Ρ€Π°ΡΡ‚Π°ΡŽΡ‰ΠΈΠΉ ΠΈΡ‚ΠΎΠ³ – ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½Π΅ΠΌΠ½ΠΎΠ³ΠΈΡ… случаСв, ΠΊΠΎΠ³Π΄Π° курсор Π² SQL Server Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ»Π΅Π·Π΅Π½, Π½ΠΎ ΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»Π΅Π½ Π΄Ρ€ΡƒΠ³ΠΈΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌ (ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π΄ΠΎ вСрсии 2012, Π³Π΄Π΅ появились ΠΎΠΊΠΎΠ½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ).

РСализация Ρ‡Π΅Ρ€Π΅Π· курсор довольно Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Π°. Π‘Π½Π°Ρ‡Π°Π»Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΅Ρ‘ Π΄Π°Ρ‚Π°ΠΌΠΈ ΠΈ значСниями ΠΈΠ· основной:

Π—Π°Ρ‚Π΅ΠΌ Π·Π°Π΄Π°Ρ‘ΠΌ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅:

ПослС этого обновляСм Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Ρ‡Π΅Ρ€Π΅Π· курсор:

И, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, ΠΏΠΎΠ»ΡƒΡ‡Π΅ΠΌ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

10. ОбновлСниС Ρ‡Π΅Ρ€Π΅Π· Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ (SQL Server)

ОбновлСниС Ρ‡Π΅Ρ€Π΅Π· Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π² SQL Server основано Π½Π° Π½Π΅Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ, поэтому Π΅Π³ΠΎ нСльзя ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄Ρ‘ΠΆΠ½Ρ‹ΠΌ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, это Π΅Π΄Π²Π° Π»ΠΈ Π½Π΅ самоС быстроС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΈ этим ΠΎΠ½ΠΎ интСрСсно.

Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π΄Π²Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅: ΠΎΠ΄Π½Ρƒ для Π½Π°Ρ€Π°ΡΡ‚Π°ΡŽΡ‰ΠΈΡ… ΠΈΡ‚ΠΎΠ³ΠΎΠ² ΠΈ Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ:

Π‘Π½Π°Ρ‡Π°Π»Π° Π·Π°ΠΏΠΎΠ»Π½ΠΈΠΌ @tv Π΄Π°Π½Π½Ρ‹ΠΌ ΠΈΠ· основной Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹

Π—Π°Ρ‚Π΅ΠΌ Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ @tv ΠΎΠ±Π½ΠΎΠ²ΠΈΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ @VarTotal :

… послС Ρ‡Π΅Π³ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

РСзюмС: ΠΌΡ‹ рассмотрСли Ρ‚ΠΎΠΏ 10 способов расчёта Π½Π°Ρ€Π°ΡΡ‚Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΈΡ‚ΠΎΠ³Π° Π² SQL. Как ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Π΄Π°ΠΆΠ΅ Π±Π΅Π· ΠΎΠΊΠΎΠ½Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ эта Π·Π°Π΄Π°Ρ‡Π° Π²ΠΏΠΎΠ»Π½Π΅ Ρ€Π΅ΡˆΠ°Π΅ΠΌΠ°, ΠΏΡ€ΠΈΡ‡Ρ‘ΠΌ ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΡƒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ нСльзя Π½Π°Π·Π²Π°Ρ‚ΡŒ слоТной.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠΠ°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³ VS Π”Π°Π½Π½Ρ‹Π΅ ΠΏΠΎ дням

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…

Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ· источников, ΠΎΡ‚Π΄Π°ΡŽΡ‚ΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· Π΄Π²ΡƒΡ… Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ². Π’ качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π΄Π°Π½Π½Ρ‹Ρ… Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠΊΠ°Π·Ρ‹ Ρ€ΠΎΠ»ΠΈΠΊΠΎΠ² Π½Π° ΡŽΡ‚ΡƒΠ±.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ°

ΠžΡ‡Π΅Π½ΡŒ Ρ€Π΅Π΄ΠΊΠΎ, ΠΊΠΎΠ³Π΄Π° Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ сразу Π² Π΄Π²ΡƒΡ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ…, ΠΏΡ€ΠΈ этом ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΎΠ±ΠΎΠΈΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°Ρ… ΠΈΠ½ΠΎΠ³Π΄Π° Π±Ρ‹Π²Π°Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ.

РСшСниС

НиТС ΠΌΡ‹ рассмотрим Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ прСобразования Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΏΡ€ΠΈ этом.

Π§Π°ΡΡ‚ΡŒ 1. Π Π°Π·Π±ΠΈΠ²Π°Π΅ΠΌ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³ ΠΏΠΎ дням

ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ утвСрТдСния β€” Ссли Π½Π° сСгодня Ρƒ Ρ€ΠΎΠ»ΠΈΠΊΠ° 90 ΠΏΠΎΠΊΠ°Π·ΠΎΠ², Π° Π²Ρ‡Π΅Ρ€Π° Π±Ρ‹Π»ΠΎ 59, Ρ‚ΠΎ Π·Π° сСгодня прибавился 31 ΠΏΠΎΠΊΠ°Π·.

ΠœΠ΅Ρ‚ΠΎΠ΄ 1.1. Power Query. ΠšΠ°ΡΡ‚ΠΎΠΌΠ½Ρ‹ΠΉ столбСц

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ сколько Π±Ρ‹Π»ΠΎ ΠΏΠΎΠΊΠ°Π·ΠΎΠ² Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Π΄Π°Ρ‚Ρƒ, Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚Π½ΡΡ‚ΡŒ ΠΈΠ· Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ показатСля ΠΏΠΎΠΊΠ°Π·ΠΎΠ² количСство ΠΏΠΎΠΊΠ°Π·ΠΎΠ² Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΡƒΡŽ Π΄Π°Ρ‚Ρƒ. Если послС сортировки ΠΏΠΎ Π΄Π°Ρ‚Π΅ ΠΏΠΎ ΡƒΠ±Ρ‹Π²Π°Π½ΠΈΡŽ Π½ΡƒΠΆΠ½ΠΎΠ΅ Π½Π°ΠΌ число ΠΏΠΎΠΊΠ°Π·ΠΎΠ² находится Π² строчкС Π½ΠΈΠΆΠ΅, Ρ‚ΠΎ самым простым способом Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ индСксный столбСц, Π° Π·Π°Ρ‚Π΅ΠΌ кастомный столбСц:

Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС:
Source (Β«Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΒ» Π² русской вСрсии) β€” тСхничСскоС слово, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ Π½Π° Π²Π°ΡˆΡƒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ
[Index] β€” столбСц с индСксом
[views] β€” столбСц с ΠΏΠΎΠΊΠ°Π·Π°ΠΌΠΈ
Всё это ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΎ Π² структуру try otherwise, Ρ‡Ρ‚ΠΎΠ±Ρ‹ для строчки Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π΅Ρ‚ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ значСния ΠΏΠΎΠΊΠ°Π·ΠΎΠ² (самой послСднСй) вмСсто ошибки ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ количСство ΠΏΠΎΠΊΠ°Π·ΠΎΠ² Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π΄Π°Ρ‚Ρƒ.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли строчки относятся Π½Π΅ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ Ρ€ΠΎΠ»ΠΈΠΊΡƒ, Π° ΠΊ нСсколькими, Π° Ρ‚Π°ΠΊΠΆΠ΅ просто Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΊ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ этой Π·Π°Π΄Π°Ρ‡ΠΈ ΠΌΡ‹ рассмотрим Π½ΠΈΠΆΠ΅.

ΠœΠ΅Ρ‚ΠΎΠ΄ 1.2. Power Query. Π’Π°Π±Π»ΠΈΡ†Π°-Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚ с ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌΠΈ значСниями

Π’Ρ‚ΠΎΡ€Ρ‹ΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ сколько Π±Ρ‹Π»ΠΎ ΠΏΠΎΠΊΠ°Π·ΠΎΠ² Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ дСнь Π±ΡƒΠ΄Π΅Ρ‚ Π²Π·ΡΡ‚ΡŒ Π½Π°ΡˆΡƒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚ ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ смСщСниС. ПослС Ρ‡Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π΅Π΅ с основной Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ.

Пошаговая инструкция:
Π¨Π°Π³ 1. Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ (ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚, Π° Π½Π΅ ссылку, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² дальнСйшСм ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ это Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΠΊ основной ΠΈ ΠΏΡ€ΠΈ использовании ссылки Ρƒ нас получится цикличСская Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ)
Π¨Π°Π³ 2. Π”Π΅Π»Π°Π΅ΠΌ смСщСниС Π΄Π°Ρ‚Ρ‹
1) ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅ΠΌ Π΄Π°Ρ‚Ρƒ Π² числовой Ρ„ΠΎΡ€ΠΌΠ°Ρ‚
2) ДобавляСм Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ
3) ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅ΠΌ число ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² Π΄Π°Ρ‚Ρƒ
Π¨Π°Π³ 3. ΠŸΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅ΠΌ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ с ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌΠΈ значСниями ΠΊ основной ΠΏΠΎ полю Π΄Π°Ρ‚Ρ‹.
Π¨Π°Π³ 4. Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ кастомный столбСц, Π³Π΄Π΅ Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π΅ΠΌ ΠΈΠ· Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ количСство ΠΏΠΎΠΊΠ°Π·ΠΎΠ², Π΄Π°Π½Π½Ρ‹Π΅ Π·Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ дСнь
Π¨Π°Π³ 5. ΠŸΡ€ΠΎΡ„ΠΈΡ‚!

ΠœΠ΅Ρ‚ΠΎΠ΄ 1.3. Power Query. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΊΠ°Π»Π΅Π½Π΄Π°Ρ€ΡŒ (Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ²)

Π’Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… условиях, ΠΊΠΎΠ³Π΄Π° Π² Π½Π°ΡˆΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅Ρ‚ Ρ€Π°Π·Ρ€Ρ‹Π²ΠΎΠ², Π° Ρ‚Π°ΠΊ Π±Ρ‹Π²Π°Π΅Ρ‚ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ всСгда, Ссли Ρƒ вас Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Ρ… Π·Π° ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ дСнь, Ρ‚ΠΎ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ. Для этого Π΅ΡΡ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Π² Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΌΡ‹ просто Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΠ· Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Ссли Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅Ρ‚, Ρ‚ΠΎ прирост Π² этот дСнь Π±Ρ‹Π» Ρ€Π°Π²Π΅Π½ 0. А ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π±ΡƒΠ΄Π΅ΠΌ Π±Ρ€Π°Ρ‚ΡŒ блиТайшСС ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π΅ нСпустоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

Для этого Π½Π°ΠΌ понадобится ΠΊΠ°Π»Π΅Π½Π΄Π°Ρ€ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ вСсь ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰ΠΈΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π», ΠΏΡ€ΠΈ этом Π² Π½Ρ‘ΠΌ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Ρ€Ρ‹Π²ΠΎΠ². Бпособов создания калСндаря ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ, Π² качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‚, Ρ‡Ρ‚ΠΎ написан Π½ΠΈΠΆΠ΅.

Пошаговая инструкция:
Π¨Π°Π³ 1. Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΠΎ ΡƒΠ±Ρ‹Π²Π°Π½ΠΈΡŽ Π΄Π°Ρ‚ Π½Π°ΡˆΡƒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ (ΠΊΠ°Π»Π΅Π½Π΄Π°Ρ€ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ отсортирован ΠΏΠΎ ΡƒΠ±Ρ‹Π²Π°Π½ΠΈΡŽ)
Π¨Π°Π³ 2. ΠŸΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅ΠΌ ΠΊΠ°Π»Π΅Π½Π΄Π°Ρ€ΡŒ ΠΊ основной Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΏΠΎ Π΄Π°Ρ‚Π΅ (Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΎΠ΅ соСдинСниС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ всС Π΄Π°Ρ‚Ρ‹ ΠΈΠ· калСндаря ΠΈ появились ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ Π² ΠΏΠΎΠΊΠ°Π·Π°Ρ…)
Π¨Π°Π³ 3. УдаляСм старый столбСц с Π΄Π°Ρ‚ΠΎΠΉ (Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Ρ‚Ρ‹ ΠΈΠ· калСндаря Π±ΡƒΠ΄ΡƒΡ‚ нашими Π΄Π°Ρ‚Π°ΠΌΠΈ)
Π¨Π°Π³ 4. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π²Π½ΠΈΠ· Π½Π° столбцС с ΠΏΠΎΠΊΠ°Π·Π°ΠΌΠΈ
Π¨Π°Π³ 5. УдаляСм пустыС значСния ΠΏΠΎΠΊΠ°Π·ΠΎΠ² (Ссли ваш ΠΊΠ°Π»Π΅Π½Π΄Π°Ρ€ΡŒ содСрТит большС Π΄Π°Ρ‚ Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ, Ρ‚ΠΎ Ρƒ вас Ρ‚Π°ΠΊΠΈΠ΅ записи Ρ‚ΠΎΡ‡Π½ΠΎ появятся)
Π¨Π°Π³ 6. ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΡΠ΅ΠΌ дСйствия ΠΈΠ· ΠΌΠ΅Ρ‚ΠΎΠ΄Π° 1.2

ΠœΠ΅Ρ‚ΠΎΠ΄ 1.4. Power Query. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΊΠ»ΡŽΡ‡

К соТалСнию, Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ΠΌΠ΅Ρ‚ΠΎΠ΄ 1.3 Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ являСтся ΠΏΠ°Π½Π°Ρ†Π΅Π΅ΠΉ. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Ссли Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½Π° ΠΊΡƒΡ‡Π° Π»ΠΈΡˆΠ½ΠΈΡ… записСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ нСсут Π² сСбС цСнности. Или Ρƒ вас ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΉ объСм Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ большого количСства пустых строк ΠΌΠΎΠΆΠ΅Ρ‚ сильно ΡƒΡΠ»ΠΎΠΆΠ½ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ систСмы.
Π’ этом случаС, использованиС калСндаря Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, зная Ρ‡Ρ‚ΠΎ статистики ΠΏΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ дням ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ Ρ…Π²Π°Ρ‚Π°Ρ‚ΡŒ.
На самом Π΄Π΅Π»Π΅ Π·Π°Π΄Π°Ρ‡Π° Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ 1.2, Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ с ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌΠΈ значСниями ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π½Π΅ ΠΏΠΎ Π΄Π°Ρ‚Π΅, Π° ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Ρƒ.

Пошаговая инструкция:
Π¨Π°Π³ 1. Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ Π΄Π°Ρ‚Ρ‹
Π¨Π°Π³ 2. Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚ основной Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹
Π¨Π°Π³ 3. ДобавляСм столбСц-индСкс для основной Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ (Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ с 0)
Π¨Π°Π³ 4. ДобавляСм столбСц-индСкс для Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚Π° (Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ с 1)
Π¨Π°Π³ 5. ΠŸΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅ΠΌ ΠΊ основной Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ-Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚ ΠΏΠΎ столбцам-индСксам (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π»Π΅Π²ΠΎΠ΅ соСдинСниС)
Π¨Π°Π³ 6. ЗамСняСм null Π½Π° 0 Π² значСниях ΠΏΠΎΠΊΠ°Π·ΠΎΠ² ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹-Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚Π°
Π¨Π°Π³ 7. Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ кастомный столбСц, Π³Π΄Π΅ Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π΅ΠΌ ΠΈΠ· Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ количСство ΠΏΠΎΠΊΠ°Π·ΠΎΠ², Π΄Π°Π½Π½Ρ‹Π΅ Π·Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ дСнь (ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹-Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚Π°)
Π¨Π°Π³ 8. ΠŸΡ€ΠΎΡ„ΠΈΡ‚!

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли Ρ€ΠΎΠ»ΠΈΠΊΠΎΠ² нСсколько?

Если Π² Π²Π°ΡˆΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ… Π΅ΡΡ‚ΡŒ информация Π½Π΅ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ, Π° ΠΏΠΎ нСскольким Ρ€ΠΎΠ»ΠΈΠΊΠ°ΠΌ, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ:
1) ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π·Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄, Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Ρƒ (ΠΈΠ»ΠΈ Π΄Π°Ρ‚Π΅), Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ ΠΏΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρƒ Ρ€ΠΎΠ»ΠΈΠΊΠ°;
2) ΠΏΡ€ΠΈ осущСствлСнии сортировки, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ сортировку ΠΏΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρƒ Ρ€ΠΎΠ»ΠΈΠΊΠ°, Π° ΠΏΠΎΡ‚ΠΎΠΌ ΡƒΠΆΠ΅ ΠΏΠΎ Π΄Π°Ρ‚Π΅.

ΠœΠ΅Ρ‚ΠΎΠ΄ 1.5. DAX. Π‘Ρ‡ΠΈΡ‚Π°Π΅ΠΌ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ ΠΌΠ΅Ρ€Ρƒ

Помимо Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Ρ… способов ΠΏΠΎΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π·Π° сутки с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Power Query, СстСствСнно, Ρ‚Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ способ ΠΏΠΎΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΠΆΠ΅ самоС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ DAX. ΠœΡ‹ рассмотрим самый простой способ β€” созданиС ΠΌΠ΅Ρ€Ρ‹ для Π΄Π°Π½Π½Ρ‹Ρ… Π±Π΅Π· пропусков ΠΈ ΠΊΠΎΠ³Π΄Π° всС Π΄Π°Π½Π½Ρ‹Π΅ относятся ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ Ρ€ΠΎΠ»ΠΈΠΊΡƒ.

Π§Π°ΡΡ‚ΡŒ 2. Π‘ΠΎΠ±ΠΈΡ€Π°Π΅ΠΌ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚ΠΎΠ³ ΠΈΠ· статистики ΠΏΠΎ дням

Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС, Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, Π½Π°ΠΌ прСдстоит ΠΏΡ€ΠΎΡΡƒΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ статистику ΠΏΠΎΠΊΠ°Π·ΠΎΠ² ΠΏΠΎ всСм ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌ дням, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ количСство ΠΏΠΎΠΊΠ°Π·ΠΎΠ² Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Π΄Π°Ρ‚Ρƒ.

ΠœΠ΅Ρ‚ΠΎΠ΄ 2.1. DAX. Π‘Ρ‡ΠΈΡ‚Π°Π΅ΠΌ ΠΌΠ΅Ρ€Ρƒ

НаиболСС простым способом Π² Π΄Π°Π½Π½ΠΎΠΌ случаС Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ€Ρƒ:

ΠœΠ΅Ρ‚ΠΎΠ΄ 2.2. Power Query. ΠšΠ°ΡΡ‚ΠΎΠΌΠ½Ρ‹ΠΉ столбСц

Если ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ Π΄Π°Ρ‚Ρ‹ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ столбСц с индСксом, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ столбСц Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, столбСц с индСксом ΠΏΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с 1. А Ρ‚Π°ΠΊΠΆΠ΅, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ #Β»AddedIndexΒ»[views], Π° Π½Π΅ просто [views]. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ случаС это список, Π° Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· столбца [views]. #Β»AddedIndexΒ» β€” Π² Π΄Π°Π½Π½ΠΎΠΌ случаС это Π½Π°Π·Π²Π°Π½ΠΈΠ΅ послСднСго шага Π΄ΠΎ создания ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ столбца.

Π§Π°ΡΡ‚ΡŒ 3. Π”Π΅Π»Π°Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°ΠΌΠΈ

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ Π² Π΄Π²ΡƒΡ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ…, Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π²Ρ‹Π±ΠΎΡ€Π°.

Для этого Π½Π°ΠΌ потрСбуСтся Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ‚Π°Π±Π»ΠΈΡ‡ΠΊΠ° ListMode:

ModeIndex
Total1
Delta2

Π’Π°Π±Π»ΠΈΡ†Π°. ListMode

Π”Π°Π»ΡŒΡˆΠ΅ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Ρ€Ρƒ (ΠΏΡ€ΠΎ Π½ΠΈΡ… ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ здСсь):

И ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ Π½Π° основС ΠΏΠΎΠ»Π΅ ListMode[Mode] с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя Ρ€Π΅ΠΆΠΈΠΌΠ°ΠΌΠΈ. Π‘Ρ€Π°Π·Ρƒ рСкомСндуСтся Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ значСния Π² настройках Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°.
Π”Π°Π»Π΅Π΅ остаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ вывСсти Π΄Π°Π½Π½ΡƒΡŽ ΠΌΠ΅Ρ€Ρƒ Π½Π° Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *