Π Π°Π±ΠΎΡ‚Π° с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ часто Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π°Π½Π°Π»ΠΈΠ·Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… массивов ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ для выявлСния ΡΠΊΡΡ‚Ρ€Π΅ΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Ρ‹ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ рСгулярно ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ Π½Π°ΠΉΡ‚ΠΈ ΡΠ°ΠΌΡƒΡŽ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ Ρ†Π΅Π½Ρƒ, послСднюю Π΄Π°Ρ‚Ρƒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈΠ»ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ остаток Π½Π° складС. Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этих Π·Π°Π΄Π°Ρ‡ Π² языкС запросов встроСн ΠΌΠΎΡ‰Π½Ρ‹ΠΉ Π°Π³Ρ€Π΅Π³Π°Ρ‚Π½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€.

ПониманиС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ конструкция МАКБ ΠΈ Π³Π΄Π΅ Π΅Ρ‘ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π² сСкции Π“Π”Π• ΠΈΠ»ΠΈ ВЫБРАВЬ, критичСски Π²Π°ΠΆΠ½ΠΎ для ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ систСмы. ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ использованиС ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΏΠΎΠ»Π½ΠΎΠΌΡƒ ΡΠΊΠ°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎΠΌΡƒ замСдлСнию Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠΈ объСма ΡƒΡ‡Π΅Ρ‚Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ синтаксис, практичСскиС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ максимума, Π° Ρ‚Π°ΠΊΠΆΠ΅ рассмотрим распространСнныС ошибки ΠΏΡ€ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ². Π’Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ эффСктивно ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π°Π³Ρ€Π΅Π³Π°Ρ‚Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌΠΈ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ для получСния Ρ‚ΠΎΡ‡Π½Ρ‹Ρ… ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ².

Бинтаксис ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° МАКБ Π² языкС запросов 1Π‘

Ѐункция МАКБ относится ΠΊ Π°Π³Ρ€Π΅Π³Π°Ρ‚Π½Ρ‹ΠΌ функциям языка запросов ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для вычислСния наибольшСго значСния ΠΈΠ· Π½Π°Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅. Она Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ СдинствСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ элСмСнту Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ, игнорируя ΠΏΡ€ΠΈ этом пустыС значСния (NULL). БинтаксичСски ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ вызываСтся Π²Π½ΡƒΡ‚Ρ€ΠΈ сСкции ВЫБРАВЬ запроса.

Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ МАКБ зависит ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ поля. Для числовых Ρ‚ΠΈΠΏΠΎΠ² возвращаСтся наибольшСС число, для Π΄Π°Ρ‚ β€” самая поздняя Π΄Π°Ρ‚Π° Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π° для строк β€” Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΈΠ΄ΡƒΡ‰Π΅Π΅ послСдним Π² Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½ΠΎΠΌ порядкС согласно настройкам Π»ΠΎΠΊΠ°Π»ΠΈ систСмы. Π­Ρ‚ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ Π°Π½Π°Π»ΠΈΠ·Π΅ тСкстовых ΠΏΠΎΠ»Π΅ΠΉ.

ИспользованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ°ΠΊ Π±Π΅Π· Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½Π° примСняСтся ΠΊΠΎ всСй Π²Ρ‹Π±ΠΎΡ€ΠΊΠ΅, Ρ‚Π°ΠΊ ΠΈ Π² сочСтании с ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ ПО. Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ случаС максимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ вычисляСтся ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ записСй, Ρ‡Ρ‚ΠΎ позволяСт ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ сводныС Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ Ρ€Π°Π·Ρ€Π΅Π·Π°ΠΌ Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎ складам ΠΈΠ»ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Π°ΠΌ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Ѐункция МАКБ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использована Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π² условии сСкции Π“Π”Π• для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ строк Π΄ΠΎ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΈ. Для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ запросы ΠΈΠ»ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π°Π³Ρ€Π΅Π³Π°Ρ‚Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с Ρ‚Π΅ΠΌΠΈ полями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‚ Π² расчСтС. Π›ΠΈΡˆΠ½ΠΈΠ΅ поля Π² сСкции ВЫБРАВЬ ΠΏΡ€ΠΈ использовании Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ компиляции запроса.

Поиск максимального значСния Π±Π΅Π· Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…

Π‘Π°ΠΌΡ‹ΠΉ простой сцСнарий использования β€” ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΡ‚ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ значСния ΠΏΠΎ всСй Ρ‚Π°Π±Π»ΠΈΡ†Π΅. Π­Ρ‚ΠΎ часто трСбуСтся для Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΡ‚ΠΎΠ³ΠΎΠ² Π² шапкС ΠΎΡ‚Ρ‡Π΅Ρ‚Π° ΠΈΠ»ΠΈ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π³Ρ€Π°Π½ΠΈΡ‡Π½Ρ‹Ρ… условий ΠΏΠ΅Ρ€Π΅Π΄ запуском слоТных Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС запрос Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ всСго ΠΎΠ΄Π½Ρƒ строку с ΠΎΠ΄Π½ΠΈΠΌ вычисляСмым ΠΏΠΎΠ»Π΅ΠΌ.

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π³Π΄Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΡΠ°ΠΌΡƒΡŽ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ Ρ†Π΅Π½Ρƒ Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Ρ‹ Π² рСгистрС свСдСний. Запрос Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½ΠΎ ΠΈ выполнится быстро, Ссли ΠΏΠΎ полю Ρ†Π΅Π½Ρ‹ установлСн индСкс. БистСма просканируСт индСкс ΠΈΠ»ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, Π½Π°ΠΉΠ΄Π΅Ρ‚ максимум ΠΈ сразу Π²Π΅Ρ€Π½Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, Π½Π΅ загруТая Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ лишниС Π΄Π°Π½Π½Ρ‹Π΅.

ВЫБРАВЬ

МАКБ(ЦСныНомСнклатуры.Π¦Π΅Π½Π°) КАК МаксимальнаяЦСна

Π˜Π—

РСгистрБвСдСний.ЦСныНомСнклатуры КАК ЦСныНомСнклатуры

Однако часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎΡΡ‚ΡŒ Π½Π΅ просто ΡƒΠ·Π½Π°Ρ‚ΡŒ число, Π½ΠΎ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΡΠΎΠΏΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ записи, содСрТащСй это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. ΠŸΡ€ΠΎΡΡ‚ΠΎΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ»Π΅ΠΉ Π² ΡΠ΅ΠΊΡ†ΠΈΡŽ ВЫБРАВЬ Π±Π΅Π· Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ агрСгатная функция сворачиваСт Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ Π² ΠΎΠ΄Π½Ρƒ строку. Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой Π·Π°Π΄Π°Ρ‡ΠΈ трСбуСтся ΠΈΠ½ΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄.

πŸ’‘

ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ запрос с МАКБ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ΄Π½Ρƒ строку. Если Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ поля этой строки, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ сортировку ΠΏΠΎ ΡƒΠ±Ρ‹Π²Π°Π½ΠΈΡŽ ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ количСства строк (ВОП 1).

ИспользованиС МАКБ совмСстно с ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ ПО

Когда Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠ° Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ МАКБ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΏΠ°Ρ€Π΅ с ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом ПО. Π­Ρ‚ΠΎ позволяСт Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ Π½Π° Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΈ Π½Π°ΠΉΡ‚ΠΈ максимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· Π½ΠΈΡ…. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Ρ‚Π°ΠΊΠΎΠ³ΠΎ запроса Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Π±ΠΎΡ€ строк, Π³Π΄Π΅ каТдая строка соотвСтствуСт ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ»Π΅ΠΉ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΈ.

НапримСр, Ссли Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ вывСсти ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ Ρ†Π΅Π½Ρƒ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Ρ‹ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ, ΠΏΠΎΠ»Π΅ "ВидНомСнклатуры" указываСтся послС слова ПО. БистСма автоматичСски сгруппируСт всС записи ΠΏΠΎ Π²ΠΈΠ΄Π°ΠΌ ΠΈ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ вычислит максимум. Π­Ρ‚ΠΎ стандартный ΠΏΡ€ΠΈΠ΅ΠΌ для построСния сводных Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ аналитичСских ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ².

ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π΅, Π½Π΅ ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ Π² Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠ΅ ΠΈ Π½Π΅ Π°Π³Ρ€Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ, Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ компиляции тСкста запроса.

ПолС Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΈ АгрСгатноС ΠΏΠΎΠ»Π΅ Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ вычислСния
Π‘ΠΊΠ»Π°Π΄ МАКБ(ΠžΡΡ‚Π°Ρ‚ΠΎΠΊ) ΠœΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ остаток ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ складу
ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚ МАКБ(Π”Π°Ρ‚Π°Π”ΠΎΠΊ) Π”Π°Ρ‚Π° послСднСго Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΊΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Ρƒ
ΠŸΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ МАКБ(БуммаНачислСния) МаксимальноС начислСниС Π² ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠΈ
Π‘Ρ‚Π°Ρ‚ΡŒΡΠ—Π°Ρ‚Ρ€Π°Ρ‚ МАКБ(Π‘ΡƒΠΌΠΌΠ°) Максимальная сумма Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ ΠΏΠΎ ΡΡ‚Π°Ρ‚ΡŒΠ΅

Π“Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠ° Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ влияСт Π½Π° ΠΏΠ»Π°Π½ выполнСния запроса. Если ΠΏΠΎΠ»Π΅ΠΉ для Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΌΠ½ΠΎΠ³ΠΎ, Π° Π²Ρ‹Π±ΠΎΡ€ΠΊΠ° Π²Π΅Π»ΠΈΠΊΠ°, систСмС ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ созданиС Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… структур Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти ΠΈΠ»ΠΈ Π½Π° дискС. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ Ρ‚Π°ΠΊΠΈΡ… запросов часто Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² суТСнии Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ Π½Π° этапС ΠΎΡ‚Π±ΠΎΡ€Π°.

πŸ“Š Какая Π·Π°Π΄Π°Ρ‡Π° для вас Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Π°?
Поиск послСднСй Π΄Π°Ρ‚Ρ‹ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°
НахоТдСниС максимальной Ρ†Π΅Π½Ρ‹
Анализ остатков Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ²
Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ ΠΏΠ»Π°Π½ΠΎΠ²Ρ‹Ρ… ΠΈ фактичСских ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ

Π€ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ записСй с ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ значСниями

Частая ошибка Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² β€” ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ условиС Π“Π”Π• ПолС = МАКБ(ПолС). Π’Π°ΠΊΠΎΠΉ синтаксис нСдопустим Π² языкС запросов 1Π‘, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π°Π³Ρ€Π΅Π³Π°Ρ‚Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ нСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² условиях ΠΎΡ‚Π±ΠΎΡ€Π° Π΄ΠΎ выполнСния Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΈ. Π›ΠΎΠ³ΠΈΠΊΠ° выполнСния запроса строго Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π°: сначала ΠΎΡ‚Π±ΠΎΡ€, ΠΏΠΎΡ‚ΠΎΠΌ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΈ агрСгация.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ записи, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ запрос. Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ запрос вычисляСт максимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π° внСшний Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ записи, Π³Π΄Π΅ ΠΏΠΎΠ»Π΅ Ρ€Π°Π²Π½ΠΎ этому Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρƒ. Π­Ρ‚ΠΎ классичСский ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ любой слоТности.

ВЫБРАВЬ

ЦСныНомСнклатуры.НомСнклатура,

ЦСныНомСнклатуры.Π¦Π΅Π½Π°

Π˜Π—

РСгистрБвСдСний.ЦСныНомСнклатуры КАК ЦСныНомСнклатуры

Π“Π”Π•

ЦСныНомСнклатуры.Π¦Π΅Π½Π° =

(ВЫБРАВЬ

МАКБ(Π¦Π΅Π½Ρ‹Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅.Π¦Π΅Π½Π°)

Π˜Π—

РСгистрБвСдСний.ЦСныНомСнклатуры КАК Π¦Π΅Π½Ρ‹Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅)

ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΈ часто Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ способ β€” использованиС сортировки ΠΈ ограничСния количСства строк. Если Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΎΠ΄Π½Ρƒ запись с максимумом, ΠΏΡ€ΠΎΡ‰Π΅ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ ΠΏΠΎ ΡƒΠ±Ρ‹Π²Π°Π½ΠΈΡŽ ΠΈ Π²Π·ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π²ΡƒΡŽ строку с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова ВОП 1. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ часто выполняСтся быстрСС, Ρ‡Π΅ΠΌ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ запрос, особСнно Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΌΠ°Ρ….

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ использовании Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ запроса ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ запрос Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Если Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ запрос Π²Π΅Ρ€Π½Π΅Ρ‚ нСсколько строк ΠΈΠ·-Π·Π° отсутствия Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΈ Ρ‚Π°ΠΌ, Π³Π΄Π΅ ΠΎΠ½Π° Π½ΡƒΠΆΠ½Π°, внСшнСС сравнСниС ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π΄Π°Ρ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΈΠ»ΠΈ Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

Π Π°Π±ΠΎΡ‚Π° с Π΄Π°Ρ‚Π°ΠΌΠΈ: поиск послСднСго Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°

Π’ бухгалтСрском ΠΈ управлСнчСском ΡƒΡ‡Π΅Ρ‚Π΅ ΠΊΡ€Π°ΠΉΠ½Π΅ вострСбован сцСнарий поиска послСднСго события. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ МАКБ идСально ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚ΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ… Π”Π°Ρ‚Π°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ хронологичСски Π±ΠΎΠ»Π΅Π΅ поздняя Π΄Π°Ρ‚Π° являСтся большим Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ. Π­Ρ‚ΠΎ позволяСт Π»Π΅Π³ΠΊΠΎ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π΄Π°Ρ‚Ρƒ послСднСго провСдСния Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈΠ»ΠΈ послСднСго измСнСния рСгистра.

ΠŸΡ€ΠΈ поискС послСднСй Π΄Π°Ρ‚Ρ‹ часто трСбуСтся ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ саму Π΄Π°Ρ‚Ρƒ, Π½ΠΎ ΠΈ ссылку Π½Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Π’ этом случаС комбинация МАКБ ΠΈ ПО ΠΏΠΎ ссылкС Π½Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ Π½Π΅ сработаСт Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ оТидаСтся, Ссли Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ послСдний ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π—Π΄Π΅ΡΡŒ снова Π²Ρ‹Ρ€ΡƒΡ‡Π°Π΅Ρ‚ сортировка: упорядочиваСм ΠΏΠΎ Π΄Π°Ρ‚Π΅ ΡƒΠ±Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΈ Π±Π΅Ρ€Π΅ΠΌ ΠΏΠ΅Ρ€Π²ΡƒΡŽ запись.

Однако, Ссли Π·Π°Π΄Π°Ρ‡Π° стоит Π½Π°ΠΉΡ‚ΠΈ послСднюю Π΄Π°Ρ‚Ρƒ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Π°, Ρ‚ΠΎ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΏΠΎ ΠΊΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Ρƒ с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ МАКБ ΠΏΠΎ Π΄Π°Ρ‚Π΅ Π±ΡƒΠ΄Π΅Ρ‚ самым эффСктивным Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ. Π’Π°ΠΊΠΎΠΉ запрос быстро ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ для ΠΎΡ‚Ρ‡Π΅Ρ‚Π° "ВзаиморасчСты" ΠΈΠ»ΠΈ "Π˜ΡΡ‚ΠΎΡ€ΠΈΡ взаимодСйствий", показывая Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ состояниС Π΄Π΅Π» с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ ΠΏΠ°Ρ€Ρ‚Π½Π΅Ρ€ΠΎΠΌ.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с NULL Π² Π΄Π°Ρ‚Π°Ρ…

Если Π² Π²Ρ‹Π±ΠΎΡ€ΠΊΠ΅ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ значСния NULL, функция МАКБ ΠΈΡ… ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅Ρ‚. Если всС значСния NULL, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ NULL. ΠŸΡƒΡΡ‚Π°Ρ Π΄Π°Ρ‚Π° (00:00:00) Π½Π΅ Ρ€Π°Π²Π½Π° NULL ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½Π° ΠΊΠ°ΠΊ максимум, Ссли Π΄Ρ€ΡƒΠ³ΠΈΡ… Π΄Π°Ρ‚ Π½Π΅Ρ‚.

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ запросов с Π°Π³Ρ€Π΅Π³Π°Ρ‚Π°ΠΌΠΈ

ИспользованиС Π°Π³Ρ€Π΅Π³Π°Ρ‚Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ МАКБ, ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ ΡƒΠ·ΠΊΠΈΠΌ мСстом Π² высоконагруТСнных систСмах. Основная Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° лоТится Π½Π° сСрвСр Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΎΡΠΊΠ°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ записи для вычислСния Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°. ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ являСтся Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ индСксов Π½Π° полях, ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π² ΠΎΡ‚Π±ΠΎΡ€Π΅ ΠΈ Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΠΈ.

Если запрос содСрТит условиС Π“Π”Π• ΠΏΠ΅Ρ€Π΅Π΄ вычислСниСм максимума, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎ полям этого условия построСны индСксы. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π‘Π£Π‘Π” быстро ΠΎΡ‚ΡΠ΅Ρ‡ΡŒ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Π΅ Π²Π΅Ρ‚Π²ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ расчСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ Ρ€Π΅Π»Π΅Π²Π°Π½Ρ‚Π½ΠΎΠΌΡƒ подмноТСству записСй. ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ индСксов ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ΠΏΠΎΠ»Π½ΠΎΠΌΡƒ ΡΠΊΠ°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ (Full Table Scan), Ρ‡Ρ‚ΠΎ нСдопустимо Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΌΠ°Ρ….

Π’Π°ΠΊΠΆΠ΅ стоит ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ вычислСния МАКБ ΠΏΠΎ вычисляСмым полям Π² самом запросС, Ссли это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. Π›ΡƒΡ‡ΡˆΠ΅ вынСсти слоТныС вычислСния Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, ΠΏΡ€ΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΈ ΡƒΠΆΠ΅ Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΊΠ°Ρ‚ΡŒ максимум. Π­Ρ‚ΠΎ сниТаСт Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° процСссор ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ запроса.

β˜‘οΈ Π§Π΅ΠΊ-лист ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ запроса

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 5

ЧастыС ошибки ΠΈ способы ΠΈΡ… устранСния

Одной ΠΈΠ· самых распространСнных ошибок являСтся Π½Π΅Π²Π΅Ρ€Π½ΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ контСкста выполнСния Π°Π³Ρ€Π΅Π³Π°Ρ‚Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ часто ΠΏΡ‹Ρ‚Π°ΡŽΡ‚ΡΡ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ МАКБ Π² условиях соСдинСния Ρ‚Π°Π±Π»ΠΈΡ† (Π›Π•Π’ΠžΠ• Π‘ΠžΠ•Π”Π˜ΠΠ•ΠΠ˜Π•.. НА) ΠΈΠ»ΠΈ Π² условиях ΠΎΡ‚Π±ΠΎΡ€Π°, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ синтаксичСским ошибкам. АгрСгация Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π»ΠΈΠ±ΠΎ Π² сСкции ВЫБРАВЬ, Π»ΠΈΠ±ΠΎ Π²ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΌ запросС.

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² полях сравнСния. Если Π²Ρ‹ сравниваСтС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ МАКБ с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΠΎΠ»Π΅ΠΌ, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΡ… Ρ‚ΠΈΠΏΡ‹ совмСстимы. НСявноС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΈΠ»ΠΈ Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹, особСнно ΠΏΡ€ΠΈ сравнСнии строк ΠΈ чисСл.

НС стоит Π·Π°Π±Ρ‹Π²Π°Ρ‚ΡŒ ΠΎ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°Ρ…. Π₯отя Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ запись, слоТныС запросы с Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΠ΅ΠΉ ΠΈ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ ΠΏΠΎ большим Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌ ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ рСсурсы систСмы Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ врСмя. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ подсказки ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€Π° ΠΈΠ»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ расчСты Π² Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Ρ… заданиях, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΈ возмоТности Консольки запросов ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π² Ρ€Π°Π·Π½Ρ‹Ρ… вСрсиях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘. ВсСгда провСряйтС Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ синтаксичСских конструкций Π² справкС ΠΏΠΎ вашСй ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ вСрсии ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

FAQ: Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы

МоТно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ МАКБ Π² условии Π“Π”Π•?

НСт, Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Π³Ρ€Π΅Π³Π°Ρ‚Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ МАКБ Π² сСкции Π“Π”Π• нСльзя. Для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ запрос, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ вычислит максимум, ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ сортировку с ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ΠΌ количСства строк (ВОП 1).

Π§Ρ‚ΠΎ Π²Π΅Ρ€Π½Π΅Ρ‚ МАКБ, Ссли Π²Ρ‹Π±ΠΎΡ€ΠΊΠ° пустая?

Если Π² Π²Ρ‹Π±ΠΎΡ€ΠΊΠ΅ Π½Π΅Ρ‚ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΉ записи ΠΈΠ»ΠΈ всС значСния Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ Ρ€Π°Π²Π½Ρ‹ NULL, функция МАКБ Π²Π΅Ρ€Π½Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ NULL. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ слСдуСт ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π² ΠΊΠΎΠ΄Π΅ 1Π‘, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ошибок ΠΏΡ€ΠΈ Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠΈΡ… вычислСниях ΠΈΠ»ΠΈ присваивании ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ.

Как Π½Π°ΠΉΡ‚ΠΈ максимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ нСскольким полям ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ?

Ѐункция МАКБ примСняСтся ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ полю. Если Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ запись, которая являСтся максимальной ΠΏΠΎ совокупности ΠΏΠΎΠ»Π΅ΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, спСрва ΠΏΠΎ Π΄Π°Ρ‚Π΅, ΠΏΠΎΡ‚ΠΎΠΌ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ сортировку Π£ΠŸΠžΠ Π―Π”ΠžΠ§Π˜Π’Π¬ ПО с пСрСчислСниСм ΠΏΠΎΠ»Π΅ΠΉ Π² Π½ΡƒΠΆΠ½ΠΎΠΌ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π΅ ΠΈ Π²ΠΎΠ·ΡŒΠΌΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π²ΡƒΡŽ строку.

ВлияСт Π»ΠΈ МАКБ Π½Π° Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ записСй?

Π‘Π°ΠΌ ΠΏΠΎ сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ МАКБ являСтся ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ чтСния. Однако, Ссли запрос выполняСтся Π² управляСмой Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ΅ ΠΈΠ»ΠΈ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ изоляции, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡ‡Π°ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°Ρ… Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ Π‘Π£Π‘Π”. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π½Π΅ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ.

МоТно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ МАКБ для строк?

Π”Π°, функция МАКБ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠ° ΠΊ строковым Ρ‚ΠΈΠΏΠ°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ…. Π’ этом случаС сравнСниС происходит лСксикографичСски (ΠΏΠΎ Π°Π»Ρ„Π°Π²ΠΈΡ‚Ρƒ). ΠœΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΡΡ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΈΠ΄Π΅Ρ‚ послСдним Π² словарС с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ рСгистра символов ΠΈ настроСк Π»ΠΎΠΊΠ°Π»ΠΈ.