SQL შეჯამების ფუნქცია: SUM. აგრეგატული ფუნქციები SQL - SUM, MIN, MAX, AVG, COUNT Vikoristan მაგალითი DISTINCT

გოლოვნა / Დაყენება

SQL - გაკვეთილი 11

ქვეჯამურ ფუნქციებს ასევე უწოდებენ სტატისტიკურ, აგრეგატულ ან ჯამურ ფუნქციებს. ეს ფუნქციები წარმოქმნის მწკრივების ერთობლიობას ერთი მნიშვნელობის განახლებისა და როტაციისთვის. არ არსებობს ხუთზე მეტი ასეთი ფუნქცია:
  • AVG() ფუნქცია აბრუნებს შუა სვეტს.

  • COUNT() ფუნქცია აბრუნებს რიგების რაოდენობას სვეტში.

  • MAX() ფუნქცია აბრუნებს ყველაზე დიდ მნიშვნელობას სვეტში.

  • MIN() ფუნქცია აბრუნებს ყველაზე პატარა მნიშვნელობას სვეტში.

  • SUM() ფუნქცია აბრუნებს შპალის ჯამის მნიშვნელობას.

ჩვენ უკვე ვისწავლეთ ერთი - COUNT() - გაკვეთილზე 8. მყისიერად ვიცნობთ ერთმანეთს ხვრელის მიღმა. ვთქვათ, გვინდოდა გაგვერკვია ჩვენს მაღაზიაში წიგნების მინიმალური, მაქსიმალური და საშუალო ფასი. ფასების ცხრილიდან, თქვენ უნდა აიღოთ მინიმალური, მაქსიმალური და საშუალო მნიშვნელობები ფასის სვეტისთვის. ითხოვეთ პატიება:

SELECT MIN(ფასი), MAX(ფასი), AVG(ფასი) FROM ფასები;

ახლა ჩვენ გვინდა გავარკვიოთ, რა თანხა მოგვიტანა ფოსტის მფლობელმა „ბუდინოკმა მეგობრისთვის“ (id=2). არც ისე ადვილია ასეთი კითხვის შედგენა. დავმშვიდდეთ, გთხოვთ:

1. Supplies (შემომავალი) ცხრილიდან, ჯერ უნდა აირჩიოთ იმ მარაგების იდენტიფიკატორი (id_incoming), რომელიც დამზადებულია საფოსტო მენეჯერის "Budinok Druku" (id=2) მიერ:

2. ახლა ცხრილიდან Supply Journal (ჟურნალი_შემომავალი) თქვენ უნდა აირჩიოთ საქონელი (id_product) და მათი რაოდენობა (რაოდენობა), რომელიც ნაპოვნი იქნა 1 პუნქტში ნაპოვნი მარაგებში. იმისათვის, რომ ვიკითხოთ 1 პუნქტიდან, ჩვენ დავამატებთ:

3. ახლა ჩვენ უნდა დავამატოთ მიღებულ ცხრილს ნაპოვნი პროდუქტების ფასები, რომლებიც ინახება ფასების ცხრილში. შემდეგ ჩვენ გვჭირდება კონსოლიდირებული ცხრილი მიწოდების ჟურნალი (ჟურნალი_შემომავალი) და ფასები პუნქტის მიხედვით id_product:

4. ცხრილი, რომელიც გამოვიდა, აშკარად არ აჩვენებს სვეტს Sum, ასე დათვლილი ღუმელები. ასეთი სისტემების შექმნის შესაძლებლობა გადავიდა MySQL-ზე. ამ მიზნით ჩანაწერში უნდა მიუთითოთ ის პუნქტი, რომელიც გამოითვლება და რის გამოთვლაზე ხართ პასუხისმგებელი. ჩვენს აპლიკაციაში ასეთ სტანდარტს ჯამი ეწოდება და გაანგარიშება იქნება დაფუძნებული რაოდენობასა და ფასზე. ახალი სტატიის სახელს ავსებს სიტყვა AS:

SELECT magazine_Incoming.id_product, magazine_Incoming.quantity, Prices.price, magazine_Incoming.quantity*prices.price AS summa FROM magazine_incoming, ფასები WHERE magazine_incoming.id_product= Prices.id_product AND id_com

5. კარგი, ჯამი დავკარგეთ და გავიგებთ, რამდენი საქონელი მოგვიტანა ფოსტის მუშაკმა „ბუდინოკ დრუკუმ“. SUM() ფუნქციის სინტაქსია:

SELECT SUM(table_name) FROM table_name;

ჩვენ ვიცით ცხრილის სახელი - summa, მაგრამ არ გვაქვს ცხრილის სახელის ღერძი, რის გამოც ის არის შეკითხვის შედეგი. Რატომ შევწუხდე?

ასეთი პრობლემებისთვის MySQL-ს აქვს კონცეფცია. ეს ითხოვს არჩევანს, რომელიც შეიცავს უნიკალურ სახელებს და რომელიც შეიძლება შეინახოს მონაცემთა ბაზაში შემდგომი ძიებისთვის.

შეურაცხმყოფელი მანიფესტაციის სინტაქსი:

CREATE VIEW ViewName როგორც შევსებული;

მოდით შევინახოთ ჩვენი მოთხოვნა, როგორც განცხადება report_vendor-ისგან:

შექმენით VIEW report_vendor AS SELECT magazine_incoming.id_product, magazine_incoming.quantity, Prices.price, magazine_Incoming.quantity*prices.price AS summa FROM magazine_incoming, Prices WHERE magazine_incoming.id_product=com);

6. ღერძი ახლა შეიძლება შეიცვალოს SUM() ფუნქციის გამოყენებით:

SELECT SUM(summa) FROM report_vendor;

ცულები და მიაღწიეს შედეგს, თუმცა რისთვისაც ჩვენ მოგვიწია წვლილის, მონაცემების, გამოთვლილი ნივთების და მანიფესტაციების vikorystvuvat. ასე რომ, ხანდახან შედეგის მისაღწევად, უმიზეზოდ უნდა იფიქრო. შემდეგ ჩვენ მივიღეთ ორი ძალიან მნიშვნელოვანი თემა - გამოთვლები და გამოვლინებები. მოდი ვისაუბროთ მათ შესახებ მოხსენებაში.

გამოთვლილი ველები (სტოები)

ჩვენ შევხედეთ დღევანდელ მათემატიკურ ველს კონდახებზე. აქვე მინდა დავამატო, რომ შეგიძლიათ გამოიყენოთ გამრავლება (*), დამატებითი ოპერაცია (-), დამატებითი ოპერაცია (+) და ქვედანაყოფის ოპერაცია (/). წინასწარი სინტაქსი:

SELECT item_name_1, item_name_2, item_name_1*item_name_2 AS item_name FROM table_name;

კიდევ ერთი ნიუანსია საკვანძო სიტყვა AS, რომელიც გამოიყენებოდა იმ პირის სახელის დასაზუსტებლად, რომელიც გამოითვლება. სინამდვილეში, ამ საკვანძო სიტყვის გამოყენებით, შეგიძლიათ გამოიყენოთ ფსევდონიმები ნებისმიერი სახის ადამიანისთვის. რა არის საჭირო? კოდის სწრაფი წაკითხვისთვის. მაგალითად, ჩვენი განცხადება შეიძლება ასე გამოიყურებოდეს:

შექმენით VIEW report_vendor როგორც SELECT A.id_product, A.quantity, B.price, A.quantity*B.price AS summa FROM magazine_incoming AS A, ფასები AS B WHERE A.id_product= B.id_product AND id_incoming= (SELECT id_ining Vendor WHERE = 2);

მოიცადეთ, ეს უფრო მოკლე და ინტელექტუალურია.

ჩვენ შევხედეთ შემოქმედების სინტაქსს. შექმნის შემდეგ, მათი ნახვა შესაძლებელია ისევე, როგორც ცხრილები. მათ მოსაძებნად, გაფილტრეთ და დაალაგეთ მონაცემები, აერთიანებთ ზოგიერთ ფენომენს სხვებთან. ერთის მხრივ, აქ არის ძალიან მოსახერხებელი გზა დასაკეცი სასმელების შესანახად, რომლებიც ხშირად იჭედება (როგორც ჩვენი უკანალი).

თუ გახსოვთ, რა არის ნაჩვენები ცხრილში, მაშინ ისინი ინახავენ მონაცემებს, ვიდრე ამოიღებენ სხვა ცხრილიდან. უპირველეს ყოვლისა, როდესაც თქვენ შეცვლით მონაცემებს ცხრილებში, შეიცვლება წარმოდგენილი შედეგებიც. წინააღმდეგ შემთხვევაში, გაგზავნამდე საჭირო მონაცემების მოძიების შემდეგ, DBMS-ის პროდუქტიულობა მცირდება. ასე რომ, არ არის კარგი მათთან ბოროტება.

როგორ შეგიძლიათ გაიგოთ, რამდენი კომპიუტერის მოდელი აწარმოებს ამა თუ იმ სხვას? როგორ განვსაზღვროთ კომპიუტერის საშუალო ფასი მისი ტექნიკური მახასიათებლებიდან გამომდინარე? ამ და სხვა კვებისათვის, რომელიც დაკავშირებულია ზოგიერთ სტატისტიკურ ინფორმაციასთან, შეგიძლიათ აირჩიოთ შემდეგი დამატებითი ინფორმაციისთვის. ჩანთა (აგრეგატი) ფუნქციები. გადაცემის სტანდარტი მოიცავს შემდეგ საერთო ფუნქციებს:

ყველა ფუნქცია ტრიალებს იგივე მნიშვნელობას. რა ფუნქციით COUNT, MINі მაქს zastosovny ნებისმიერი ტიპის მონაცემები, იმ დროს ჯამიі AVG Vikorist გამოიყენება მხოლოდ რიცხვითი ველებისთვის. განსხვავება ფუნქციებს შორის COUNT(*)і COUNT(<имя поля>) ითვლება, რომ NULL მნიშვნელობები არ არის დამნაშავე.

კონდახი. იპოვეთ მინიმალური და მაქსიმალური ფასი პერსონალური კომპიუტერებისთვის:

კონდახი. ნათლად იცოდეთ მწარმოებლის A-ს მიერ გამოშვებული კომპიუტერების რაოდენობა:

კონდახი. თუ გავითვალისწინებთ A გენერატორის მიერ წარმოებულ სხვადასხვა მოდელების რაოდენობას, ეს შეგვიძლია ჩამოვაყალიბოთ შემდეგი თანმიმდევრობით (იმის გათვალისწინებით, რომ პროდუქტის ცხრილში თითოეული მოდელი ჩაწერილია ერთხელ):

კონდახი. იცოდე ორმაგი მოდელების შტრიხი, ა-ს ვიბრაცია. მსგავსის დაწერის ერთ-ერთ ხაზში, საფუძვლიანში, ვისენნის ამაოში, მე დაგროვილი ვიქნები მოდელების მიერ და ვიბრაცია ჩანს ვიბრაციაზე. ა. დაუყოვნებლივ იცოდეთ კომპიუტერის ცხრილებში ხელახალი მოდელების რაოდენობა (რეალში იყიდება ტობტო).

სტატისტიკური მაჩვენებლების შერჩევისას მხოლოდ უნიკალური მნიშვნელობების გათვალისწინების მიზნით, არგუმენტები ფუნქციების გაერთიანებისთვისშეგიძლიათ vicoristuvati DISTINCT პარამეტრი. უმცროსი პარამეტრი ALLვიკორისტი მიჰყვება გამოთვლებს და გადმოსცემს ყველა იმ მნიშვნელობის შეჯამებას, რომელიც ტრიალებს სვეტში. ოპერატორი,

იმიტომ, რომ ჩვენ უნდა აღმოვფხვრათ კომპიუტერის მოდელების რაოდენობა, რომლებიც გამორთულია კანისვირობნიკი, მაშინ აუცილებელია ვიკორისტი გახდე წინადადება GROUP BY, სინტაქსურად შეურაცხმყოფელი შემდეგ წინადადება WHERE.

წინადადება GROUP BY

წინადადება GROUP BYიდენტიფიცირებულია გამომავალი მწკრივების არჩეული ჯგუფები, რომლებიც შეიძლება დარჩეს აგრეგატული ფუნქციები (COUNT, MIN, MAX, AVG და SUM). ვინაიდან ეს არის დღის წინადადება და განისაზღვრა მთლიანი ფუნქციები, ყველა სიტყვა მსგავსია გამოცნობილ სახელებთან. აირჩიეთ, დამნაშავეები შედიან აგრეგატული ფუნქციებიდა ეს ფუნქციები შემოიფარგლება მწკრივების ნებისმიერი ნაკრებით, რომელიც შეესაბამება მოთხოვნის პრედიკატს. წინააღმდეგ შემთხვევაში, ყველა ელემენტი SELECT სიაში, არ შევიდააგრეგატის ფუნქციაში აუცილებელია მიეთითოს წინადადებაზე GROUP BY. შედეგად, ყველა გამომავალი მწკრივი იყოფა ჯგუფებად, რომლებიც ხასიათდებიან ამ ჯგუფებში მნიშვნელობების სხვადასხვა კომბინაციით. ამის შემდეგ აგრეგატური ფუნქციები შემოიფარგლება კანის ჯგუფით. გაითვალისწინეთ, რომ GROUP BY-ით ყველა NULL მნიშვნელობა განიხილება როგორც ტოლი. NULL მნიშვნელობების ნებადართული ველების დაჯგუფებისას, ყველა მწკრივი მოხვდება ერთ ჯგუფში.
იაკშჩო წინადადების სიცხადისთვის GROUP BY, მდინარე SELECT-თან ყოველდღიური აგრეგატის ფუნქციებიშემდეგ უბრალოდ გადაატრიალეთ თითო მწკრივი კანის ჯგუფიდან. ეს პარამეტრი, DISTINCT საკვანძო სიტყვის გამოყენებით, შეიძლება გამოყენებულ იქნას შედეგების ნაკრების დუბლიკატი რიგების გასათიშად.
მოდით შევხედოთ მარტივ მაგალითს:
SELECT მოდელი, COUNT(model) AS Qty_model, AVG(price) AS Avg_price
კომპიუტერიდან
GROUP BY მოდელი;

კანის კანის მოდელი ხასიათდება სისქით და საშუალო სიძლიერით. ყველა სტრიქონი ერთი და იგივე მოდელის მნიშვნელობებით ქმნის ჯგუფს, ხოლო SELECT გამომავალი ითვლის მნიშვნელობების რაოდენობას და საშუალო მნიშვნელობას კანის ჯგუფისთვის. შედეგი იქნება შემდეგი ცხრილი:
მოდელი Qty_model საშუალო_ფასი
1121 3 850.0
1232 4 425.0
1233 3 843.33333333333337
1260 1 350.0

თუ SELECT-ს ჰქონდა კავშირი თარიღთან, შესაძლებელი იქნებოდა კონკრეტული თარიღის ინდიკატორების გამოთვლა. ამ მიზნით, აუცილებელია თარიღის დამატება, როგორც ჯგუფის ოპერატორი, შემდეგ კი მთლიანი ფუნქციები გამოითვლება კანის კომბინაციის მნიშვნელობისთვის (მოდელ-თარიღი).

სიმღერების თაიგულს სძინავს აგრეგატის ფუნქციების სიბლანტის წესები:

  • შედეგად დავწერ წყლის რიგი არ არის ამოღებული(ან ერთი მწკრივი ამ ჯგუფისთვის), მაშინ გამომავალი მონაცემები რომელიმე აგრეგატული ფუნქციის გამოსათვლელად არის ყოველდღიური. ამ შემთხვევაში, COUNT ფუნქციის შედეგი იქნება ნული, ხოლო ყველა სხვა ფუნქციის შედეგი იქნება NULL.
  • არგუმენტიაგრეგატული ფუნქციები მე თვითონ ვერ ვაკონტროლებ მთლიან ფუნქციებს(ფუნქცია ფუნქციის ფარგლებში). ტობტო. ერთ ჩანაწერში შეუძლებელია, ვთქვათ, მაქსიმალური საშუალო მნიშვნელობების შენარჩუნება.
  • COUNT ფუნქციის შედეგი არის მთელი რიცხვი(INTEGER) სხვა საერთო ფუნქციები ამცირებს მონაცემთა მნიშვნელობების ტიპებს, რომლებიც გროვდება.
  • SUM ფუნქციის გამოყენებისას ნაჩვენებია შედეგი, რომელიც აღემატება ანალიზის მონაცემთა ტიპის მაქსიმალურ მნიშვნელობას. პატიება.

ო, ძვირფასო, რატომ არ იძიებ შურს? წინადადება GROUP BY, ეს აგრეგატული ფუნქციები, შეიცავს წინადადება SELECT, აუცილებელია დახაზოთ ყველა მიღებული მწკრივი. შურისძიებას ვითხოვ წინადადება GROUP BY, მწკრივების თითოეული ნაკრები, რომელსაც შეიძლება ჰქონდეს მნიშვნელოვანი მნიშვნელობა მინიჭებული ერთეულების კომბინაციის ან ჯგუფისთვის წინადადება GROUP BY, შექმენით ჯგუფი, რომ აგრეგატული ფუნქციებიკანის ჯგუფი დეტალურად უნდა შემოწმდეს.

წინადადება HAVING

იაკშჩო წინადადება WHEREნიშნავს პრედიკატს რიგების გასაფილტრად, შემდეგ წინადადება HAVINGგაჭედვა დაჯგუფების შემდეგპრედიკატის მსგავსი მნიშვნელობისთვის, რომელიც ფილტრავს ჯგუფებს მნიშვნელობების უკან აგრეგატული ფუნქციები. ეს წინადადება საჭიროა მნიშვნელობის შესამოწმებლად, თითქოს უნდა მოიხსნას აგრეგატული ფუნქციებიარა მინიჭებული ჩანაწერების რამდენიმე რიგიდან მდინარეები, ზ ასეთი რიგების ჯგუფები. ამიტომ, ასეთი უკუღმართობა შეუძლებელია მდინარე სად.

ჩვენ უნდა დავფაროთ ჩანთები. თუმცა, ეს არის SQL მოდიფიკაციის შედეგები, მაგრამ მონაცემთა ბაზის ცხრილის მნიშვნელობების შეჯამება. SQL აგრეგატული ფუნქციები მუშაობს მნიშვნელობასთან მიმართებაში ერთი შედეგის მნიშვნელობის გამოკლებით. ყველაზე ხშირად გამოყენებული ფუნქციებია SQL აგრეგატული ფუნქციები SUM, MIN, MAX, AVG და COUNT. არსებობს ორი სახის აგრეგატის ფუნქციების სტაგნაცია. პირველი: აგრეგატის ფუნქციები ექვემდებარება სიმძლავრეს და ატრიალებენ ერთი შედეგის მნიშვნელობას. სხვა: აგრეგატული ფუნქციები იყენებენ SQL GROUP BY ოპერატორს ველების მიხედვით დაჯგუფების მიზნით, რათა მიღებული მნიშვნელობები ამოიღონ თითოეული ჯგუფიდან. მოდით შევხედოთ აგრეგატის ფუნქციების შერჩევას დაჯგუფების გარეშე.

SQL SUM ფუნქცია

SQL SUM ფუნქცია აბრუნებს მონაცემთა ბაზის ცხრილის ჯამის მნიშვნელობას. სტაგნაცია შეიძლება იყოს მხოლოდ იმ წერტილამდე, რა მნიშვნელობა აქვს რიცხვებს. შედეგის მისაღებად SQL მოთხოვნა იწყება ასე:

აირჩიეთ თანხა (COLUMN_NAME) ...

ამ გამოთქმას მოსდევს FROM (TABLE_NAME) და შემდეგ WHERE პუნქტს შეიძლება მოჰყვეს გონება. გარდა ამისა, DISTINCT შეიძლება იყოს მითითებული ნივთის სახელამდე, რაც ნიშნავს, რომ მხოლოდ უნიკალური მნიშვნელობებია ჩართული. ყველა ღირებულება დაფარულია დაზღვევისთვის (რისთვისაც განსაკუთრებით შეგიძლიათ შეიყვანოთ არა DISTINCT, არამედ ALL, მაგრამ სიტყვა ALL არ არის სავალდებულო).

თუ გსურთ ამ გაკვეთილის მონაცემთა ბაზაში წვდომა MS SQL Server-ზე, თუ DBMS არ არის დაინსტალირებული თქვენს კომპიუტერში, მაშინ შეგიძლიათ დააინსტალიროთ იგი, ამ შეტყობინების ინსტრუქციის შემდეგ .

თავიდანვე ხელმისაწვდომია კომპანიის მონაცემთა ბაზის გამოყენებით - Company1. სკრიპტი მონაცემთა ბაზის, ცხრილისა და მონაცემთა ცხრილის შესაქმნელად - ფაილები ამ პოსტისთვის .

კონდახი 1.არსებობს კომპანიების მონაცემთა ბაზა მათი შვილობილი კომპანიებისა და ჯაშუშების შესახებ. პერსონალის ცხრილი ასევე შეესაბამება თანამშრომელთა ხელფასის მონაცემებს. ცხრილიდან არჩევანი ასე გამოიყურება (სურათის გასადიდებლად დააწკაპუნეთ მასზე მაუსის მარცხენა ღილაკით):

ყველა ხელფასის ოდენობის ამოსაღებად გამოიყენეთ შემდეგი ბრძანება (MS SQL სერვერზე - ფორვარდული დიზაინიდან USE company1;):

SELECT SUM (ხელფასი) პერსონალისგან

ეს ჩაიწერება 287664.63-მდე.

Და ახლა . ჩვენ უკვე ვიწყებთ საგნების მოწესრიგებას, მათ პრაქტიკულთან მიახლოებას.

SQL MIN ფუნქცია

SQL MIN ფუნქცია ასევე მუშაობს ისეთი მნიშვნელობებით, როგორიცაა რიცხვები და აბრუნებს რიცხვის მინიმალურ მნიშვნელობას. ამ ფუნქციას აქვს SUM ფუნქციის მსგავსი სინტაქსი.

კონდახი 3.მონაცემთა ბაზა და ცხრილი იგივეა, რაც აპლიკაცია 1-ში.

სამუშაო ძალის მინიმალური ხელფასის გარკვევა აუცილებელია პუნქტში 42. ვისთვის ვწერთ შემდეგ შეკითხვას (MS SQL Server-ზე - ფორვარდ კონსტრუქციით USE company1;):

სწორი მნიშვნელობა არის 10,505.90.

ვურეკავ დამოუკიდებელი ლიდერობის უფლება. ვისი და სხვა უფლებები მოითხოვს არა მხოლოდ Staff ცხრილს, არამედ Org ცხრილს, რომელიც შეიცავს მონაცემებს კომპანიების ქვედანაყოფების შესახებ:


კონდახი 4. Staff ცხრილის წინ ემატება Org ცხრილი, რომელიც შეიცავს მონაცემებს კომპანიების ქვედანაყოფების შესახებ. შეიყვანეთ კლდეების მინიმალური რაოდენობა, რომელიც დამუშავებულია ბოსტონში მოყვანილი ვედილის ერთი სპივოროტიკის მიერ.

SQL MAX ფუნქცია

SQL MAX ფუნქცია მუშაობს ანალოგიურად და იყენებს მსგავს სინტაქსს, რომელიც იყინება, როდესაც საჭიროა ყველა მნიშვნელობას შორის მაქსიმალური მნიშვნელობის გამოთვლა.

კონდახი 5.

აუცილებელია გაირკვეს 42-ე განყოფილებაში სტუდენტი მუშაკების მაქსიმალური ხელფასი. ვისთვისაც ვწერთ შემდეგ ჩანაწერს (MS SQL Server – ფორვარდ კონსტრუქციით USE company1;):

დასაბრუნებელი ღირებულება 18352.80

პრიიშოვის საათი დამოუკიდებელი ზრდის უფლება.

კონდახი 6.მე ისევ ვმუშაობ ორ მაგიდასთან - Staff და Org. შეიყვანეთ განყოფილების დასახელება და კომისიის მაქსიმალური ღირებულება, რაც საშუალებას მოგცემთ გამოაკლოთ ერთი ინვესტიცია სამმართველოდან, რომელიც მიეკუთვნება განყოფილებების ჯგუფს (Division) Eastern. ვიკორისტატი JOIN (შეერთებული მაგიდა).

SQL AVG ფუნქცია

წინა ფუნქციის აღწერილობის სინტაქსი სწორია და მსგავსია SQL AVG ფუნქციისა. ეს ფუნქცია აბრუნებს შპალის საშუალო მნიშვნელობის შუა მნიშვნელობას.

კონდახი 7.მონაცემთა ბაზა და ცხრილი იგივეა, რაც წინა კონდახებში.

გთხოვთ, შეგვატყობინოთ სამხედრო მოსამსახურეების საშუალო სტაჟის შესახებ განყოფილებაში ნომერი 42. ვისთვისაც ვწერთ შემდეგ შეკითხვას (MS SQL სერვერზე - ფორვარდის კონსტრუქციით USE company1;):

შედეგი იქნება 6.33

კონდახი 8.ჩვენ ვმუშაობთ ერთი მაგიდით - პერსონალი. შეიყვანეთ 4-დან 6 წლამდე გამოცდილების მქონე მუშაკების საშუალო ხელფასი.

SQL COUNT ფუნქცია

SQL COUNT ფუნქცია აბრუნებს რამდენიმე ჩანაწერს მონაცემთა ბაზის ცხრილში. თუ შეკითხვაში შეიყვანთ SELECT COUNT(COLUMN_NAME) ..., შედეგი იქნება ჩანაწერების დიდი რაოდენობა იმ ჩანაწერების აღრიცხვის გარეშე, რომელთა სვეტის მნიშვნელობები არის NULL (დაუფასებელი). თუ იყენებთ ვარსკვლავს და დაიწყებთ არგუმენტს, როგორც SELECT COUNT(*) ..., შედეგი იქნება ცხრილის ყველა ჩანაწერის (მწკრივის) რაოდენობა.

კონდახი 9.მონაცემთა ბაზა და ცხრილი იგივეა, რაც წინა კონდახებში.

საკომისიოს მოსახსნელად აუცილებელია ყველა სპონსორის რაოდენობის გარკვევა. სერვერების რაოდენობა, რომლებისთვისაც Comm სვეტის მნიშვნელობა არ არის NULL, უფრო სწორად, თავდაპირველი ჩანაწერი (MS SQL Server-ზე - USE company1-ის წინ კონსტრუქციით):

SELECT COUNT (Comm) FROM პერსონალიდან

შედეგი იქნება 11.

კონდახი 10მონაცემთა ბაზა და ცხრილი იგივეა, რაც წინა კონდახებში.

თუ გჭირდებათ იმის გარკვევა, თუ რამდენი ჩანაწერია ცხრილში, მაშინ შეგიძლიათ გამოიყენოთ ვარსკვლავი, როგორც არგუმენტი COUNT ფუნქციისთვის (MS SQL Server-ზე - USE company1-ის წინ კონსტრუქციით):

აირჩიეთ COUNT (*) პერსონალისგან

შედეგი იქნება 17.

მომავალში თვითმმართველობის უფლებათქვენ უნდა შეავსოთ თქვენი ვიკორისტი.

კონდახი 11.ჩვენ ვმუშაობთ ერთი მაგიდით - პერსონალი. შეიყვანეთ მუშაკთა რაოდენობა დაგეგმვის განყოფილებაში (Plains).

ფუნქციების ერთბაშად აგრეგაცია SQL GROUP BY-დან (დაჯგუფებული)

ახლა მოდით შევხედოთ აგრეგატული ფუნქციების განსაზღვრას SQL GROUP BY ოპერატორის გამოყენებით. SQL GROUP BY ოპერატორი გამოიყენება მონაცემთა ბაზის ცხრილში სვეტების შედეგად მიღებული მნიშვნელობების დასაჯგუფებლად. საიტზე გაკვეთილი, ერთგულება ამ ოპერატორისადმი.

შეამოწმეთ მონაცემთა ბაზა "Portal Stunning 1". სკრიპტი მონაცემთა ბაზის, ცხრილების და მონაცემთა ცხრილების შესაქმნელად - ფაილები ამ პოსტისთვის .

კონდახი 12ასევე, განსაცვიფრებელია პორტალის მონაცემთა ბაზა. თქვენ მოგიწევთ აჩვენოთ განცხადებების ცხრილი, რათა აჩვენოთ მონაცემები დღისთვის გამოგზავნილი ხმების შესახებ. კატეგორიის განყოფილება შეიცავს მონაცემებს დიდი კატეგორიების შესახებ (მაგალითად, ურღვევობა), ხოლო ნაწილების სექცია შეიცავს ინფორმაციას სხვა ნაწილების შესახებ, რომლებიც შედის კატეგორიაში (მაგალითად, ბინების და კოტეჯების ნაწილები არის ურღვევობის კატეგორიის ნაწილები). ერთეულების განყოფილება შეიცავს მონაცემებს მიღებული წარდგენის რაოდენობის შესახებ, ხოლო ფულის განყოფილება შეიცავს ინფორმაციას თითო წარდგინებით მიღებული თანხის ოდენობის შესახებ.

კატეგორიანაწილიერთეულებიფული
ტრანსპორტისაავტომობილო მანქანები110 17600
Nerukhomіstბინები89 18690
Nerukhomіstდაჩის57 11970
ტრანსპორტიმოტოციკლები131 20960
ბუდის მასალებიდოშკი68 7140
Ელექტრო ტექნიკატელევიზორები127 8255
Ელექტრო ტექნიკამაცივრები137 8905
ბუდის მასალებირეგიპები112 11760
დოზვილიწიგნები96 6240
Nerukhomіstბუდინკი47 9870
დოზვილიმუსიკა117 7605
დოზვილითამაში41 2665

SQL GROUP BY ოპერატორის გამოყენებით, შეგიძლიათ გაიგოთ პენისების ჯამი, რომლებიც წაიღეს ყველა კატეგორიაში შესატანად. ჩვენ ვწერთ შემდეგ შეკითხვას (MS SQL სერვერზე - USE adportal1-ის კონსტრუქციის გამოყენებით):

აირჩიეთ კატეგორია, თანხა (ფული) როგორც ფული რეკლამებიდან ჯგუფის მიხედვით

კონდახი 13მონაცემთა ბაზა არის იგივე ცხრილი - იგივე, რაც გამოიყენება წარსულში.

როგორც ხედავთ, SQL GROUP BY ოპერატორმა მიიღო ყველაზე მეტი დაბნეულობა კანის კატეგორიის რომელ ნაწილში. ჩვენ ვწერთ შემდეგ შეკითხვას (MS SQL სერვერზე - USE adportal1-ის კონსტრუქციის გამოყენებით):

აირჩიეთ კატეგორია, ნაწილი, მაქს (ერთეულები) AS მაქსიმუმ რეკლამის ჯგუფიდან კატეგორიის მიხედვით

შედეგი იქნება ცხრილი:

ნივთიერებები და ინდივიდუალური მნიშვნელობები შეიძლება იყოს ნაჩვენები ერთ ცხრილში დამატებითი ოპერატორის UNION-ისთვის შეკითხვის შედეგების გაერთიანება.

რელატიური მონაცემთა ბაზები და ენა SQL

© 2022 androidas.ru - ყველაფერი Android-ის შესახებ