• Գլխավոր
  • Լուրեր
    • Առողջապահություն
    • Անվտանգություն
    • Արհեստական Ինտելեկտ
    • Էկոլոգիա
    • Մեքենաշինություն
    • Ռոբոտաշինություն
    • Համացանց
    • Համակարգիչ
    • Սմարթֆոն
    • Սոցցանց
    • Google
    • Microsoft
    • Hi-Tech
  • Վեբ
    • PHP
    • HTML
      • HTML5
    • CSS
      • CSS3
    • JavaScript
      • jQuery
    • WordPress
  • SQL
  • Թեստեր
    • PHP
    • MySQL
    • HTML
    • JavaScript
    • CSS
  • Ֆորում
  • Հետադարձ կապ
IT-Blog.am
Տեղեկատվական տեխնոլոգիաների պորտալ
  • Գլխավոր
  • Լուրեր
    • Առողջապահություն
    • Անվտանգություն
    • Արհեստական Ինտելեկտ
    • Էկոլոգիա
    • Մեքենաշինություն
    • Ռոբոտաշինություն
    • Համացանց
    • Համակարգիչ
    • Սմարթֆոն
    • Սոցցանց
    • Google
    • Microsoft
    • Hi-Tech
  • Վեբ
    • PHP
    • HTML
      • HTML5
    • CSS
      • CSS3
    • JavaScript
      • jQuery
    • WordPress
  • SQL
  • Թեստեր
    • PHP
    • MySQL
    • HTML
    • JavaScript
    • CSS
  • Ֆորում
  • Հետադարձ կապ
Գլխավոր  /  MySQL • SQL • Web  /  MySQL ագրեգատային ֆունկցիաներ
mysql_agragats
17 Մայիսի 2016

MySQL ագրեգատային ֆունկցիաներ

Հեղինակ Եվգինե
MySQL, SQL, Web

Ողջույն սիրելի ընթերցողներ: Այսօր ցանկանում եմ խոսել MySQL ագրեգատային ֆունկցիաների մասին, որոնք հաճախ են օգտագործվում MySQL հարցումների մեջ: Դրանք հնարավորություն են տալիս խմբավորել հարցման վերադարձրած արդյունքը մեկ արժեքի մեջ: Ագրեգատային ֆունկցիաներն են՝

  • COUNT() – ցուցադրում է հարցման վերադարձրած տողերի քանակը, որոնց մեջ չկա NULL արժեք:
  • SUM() – ցուցադրում է ընտրված սյան բոլոր արժեքների գումարը:
  • AVG() – ցուցադրում է ընտրված սյան արժեքների թվաբանական միջինը:
  • MAX() – ցուցադրում է ընտրված սյան արժեքներից մեծագույնը:
  • MIN()  – ցուցադրում է ընտրված սյան արժեքներից փոքրագույնը:
  • GROUP_CONCAT() – ցուցադրում է ոչ NULL արժեքները՝ իրար միացած:

Ագրեգատային ֆունկցիաների արգումենտ է հանդիսանում աղյուսակի սյան անունը և օգտագործվում է հիմնականում SELECT հարցման հետ: SUM() և AVG() ֆունկցիաները օգտագործվում են միայն թվային տիպի տվյալների հետ, իսկ մյուսներն օգտագործվում են և՛ թվային, և՛ սիմվոլային տիպերի հետ: MAX() և MIN() ֆունկցիաները սիմվոլային տիպերի հետ աշխատելիս դրանք համեմատում են ASCII ստանդարտի համաձայն, այսինքն MIN()-ը օգտագործելու ժամանակ կվերադարձնի այբբենական սկզբի կարգից սկսած, իսկ MAX()-ը՝  վերջից սկսած առաջին համընկած սիմվոլով սկսվողը:

Սրանց օգտագործումն ավելի պարզ կդառնա, եթե դիտարկենք օրինակներով: Վերցնենք SQL լեզվի հիմնական հրամաններ հոդվածում ստեղծած աղյուսակը: Ստանանք աղյուսակում ունեցած տողերի քանակը՝ COUNT() ֆունկցիայով:

SELECT COUNT(*) FROM `staff_list`

Այստեղ *-ը նշանակում է ամբողջը: Դրա փոխարեն կարող եք օգտագործել նաև all բառը, սակայն ի տարբերություն *-ի այն հաշվի չի առնում NULL արժեքով տողերը:

MAX()-ի և MIN()-ի օգտագործումը թվային տիպի հետ ինձ թվում է, արդեն պարզ է, դրա համար դիտարկենք դրանց օգտագործումը տողային տիպի հետ:

Աղյուսակից ստանանք այբբենական կարգի առաջին տառով սկսվող մարդու անունը, ով ծնվել է 1995թ-ից հետո՝

SELECT MIN(`first_name`) FROM `staff_list` WHERE `birthday` > 1995

Իսկ հիմա ստանանք հակառակը՝

SELECT MAX(`first_name`) FROM `staff_list` WHERE `birthday` > 1995

Ունենք նաև աշխատավարձերի սյուն և մեզ անհրաժեշտ է գտնել միջին աշխատավարձի  չափը:

SELECT AVG(`salary`) FROM `staff_list`

Կարող ենք նաև ստանալ ամբողջ աշխատավարձերի ընդհանուր գումարը.

SELECT SUM(`salary`) FROM `staff_list`

GROUP_CONCAT()-ը հնարավորություն է տալիս միավորել սյան ոչ NULL արժեքները և ցուցադրել մի տողով: Օրինակ՝ ստանանք բոլոր աշխատողների անունները մեկ տողով՝

SELECT GROUP_CONCAT(`first_name`) FROM `staff_list`

կունենանք հետևյալ տեսքը՝

grupConcat

 

Կարող ենք նաև ստորակետի փոխարեն օգտագործել այլ միացման նշան, դրա համար օգտագործվում է SEPARATOR արգումենտը՝

SELECT GROUP_CONCAT(`first_name` SEPARATOR '-') FROM `staff_list`

Սրանք են հիմնական օգտագործվող MySQL ագրեգատային ֆունկցաիները: Կան նաև այլ ագրեգատային ֆունկցիաներ, որոնք շատ կիրառություն չունեն, օրինակ` BIT_AND(), BIT_OR(), STD(), STDDEV_SAMP(), VAR_POP(), VARIANCE() և այլն:

Շնորհակալություն մեր բլոգից օգտվելու համար։ Հարգանքներով՝ IT-Blog.am թիմ։

Կապված գրառումներ

  • mysql transaction

    MySQL գործարքի(transaction) կառավարման օպերատորներ

    11/19/2016
  • Class

    Կլասների (classes) գրելաձևը (syntax)

    10/20/2016
  • MySQL Trigger

    MySQL տրիգերներ (Triggers) և իրադարձություններ(Events)

    10/04/2016
Facebook
  • Շատ Դիտված Գրառումներ
  • Նոր գրառումներ
  • Calculator
    Հաշվիչի (calculator) պատրաստում 04/18/2016
  • Recursion
    Ռեկուրսիա (recursion) հասկացությունը 06/02/2016
  • Icon տառատեսակներ 02/21/2016
  • MySQL joins
    MySQL JOINS (MySQL միացումներ) 06/13/2016
  • Սուպերգլոբալ փոփոխականներ (superglobals) 03/24/2016
  • Ի՞նչ է Pi Network-ը և ինչպե՞ս վաստակել Pi 03/27/2020
  • Honda-ն ներկայացրել է մոտոցիկլետ, որն օգտագործում է քամու էներգիա 12/23/2017
  • Նոր 3D-տպիչ սարքը ստեղծում է առարկաներ վայրկյանների ընթացքում 12/22/2017
  • Հետազոտողներն օգտագործում են էլեկտրական հոսանքներ`մարդու հյուսվածքներում քաղցկեղի հայտնաբերման համար 12/18/2017
  • Nvidia ընկերությունը ներկայացրել է երբևէ ստեղծված ամենահզոր գրաֆիկական պրոցեսորը 12/16/2017
  • WordPress -ի տեղադրումը .Net -ի վրա 03/16/2017
  • Class
    Կլասների (classes) գրելաձևը (syntax) 10/20/2016
  • encapsulation
    Ինկապսուլացիա (Encapsulation) 08/17/2016
  • object oriented programming
    Օբյեկտ կողմնորոշված ծրագրավորում (OOP) 07/04/2016
  • Ի՞նչ է Pi Network-ը և ինչպե՞ս վաստակել Pi 03/27/2020
  • Honda-ն ներկայացրել է մոտոցիկլետ, որն օգտագործում է քամու էներգիա 12/23/2017
  • Նոր 3D-տպիչ սարքը ստեղծում է առարկաներ վայրկյանների ընթացքում 12/22/2017
  • mysql transaction
    MySQL գործարքի(transaction) կառավարման օպերատորներ 11/19/2016
  • MySQL Trigger
    MySQL տրիգերներ (Triggers) և իրադարձություններ(Events) 10/04/2016
  • Procedures and Functions
    MySQL ընթացակարգեր (procedures) և ֆունկցիաներ (functions) 08/31/2016
  • MYSQL View
    MySQL ներկայացումներ (VIEWS) 07/16/2016
  • WordPress -ի տեղադրումը .Net -ի վրա 03/16/2017
  • SEO խրվակներ WordPress-ի համար 04/25/2016
  • Ծանոթացում WordPress-ի կառավարակետի հետ (մաս 2) 02/24/2016
  • Ի՞նչ է CMS-ը 02/17/2016
© 2020 թ.  IT-Blog.am Բոլոր հեղինակային իրավունքները պաշտպանված են:

Սույն կայքում տեղադրված նյութերի հեղինակային իրավունքը պատկանում է բացառապես IT-Blog.am կայքի հեղինակներին և կայքում բոլոր հրապարակված նյութերն անհատական օգտագործման համար են։ Այս կայքում  հրապարակված նյութերի (մասնակի կամ ամբողջական) վերահրապարկումը տեղեկատվություն տարածող այլ միջոցներում (բացառությամբ սոցկայքերի) արգելված է։ Խախտում թույլ տված անձինք կենթարկվեն պատասխանատվության` օրենքով սահմանված կարգով։