Оқулық «Білім беруді дамытудың федералды институты»



Pdf көрінісі
бет200/246
Дата27.09.2023
өлшемі4.61 Mb.
#478892
түріОқулық
1   ...   196   197   198   199   200   201   202   203   ...   246
Г. Н. Федорова, Деректер қорын әзірлеу және басқару. Оқулық. Мәскеу «Академия» баспа орталығы, 2015ж.

256
 


бағанның қалған ерекше мәндеріне ғана. COUNT (*) нҧсқасы - COUNT 
функциясын пайдаланудың ерекше жағдайы, оның мақсаты бос, 
қайталанатын немесе кез келген басқа мәндер бар-жоқтығына 
қарамастан алынған кестенің барлық жолдарын санау. Келесі сҧраудың 
нәтижесінде САТЫЛЫМДАР кестесіндегі жолдар саны есептеледі:
SELECT Count (*) AS Сатылым саны FROM 
САТЫЛЫМДАР
Егер сіз бірдей жазбалар тобынан біреуін қарастыруыңыз қажет 
болса, онда жақшадағы ӛрнек кілт сӛзді қамтиды DISTINCT:
COUNT(DISTINCT Тҧтынушы)
DISTINCT Бҧл MIN және MAX функциялары ҥшін мағынасы жоқ, 
бірақ оны пайдалану SUM және AVG функцияларының нәтижелеріне 
әсер етуі мҥмкін, сондықтан әр нақты жағдайда қатысуы керек екенін 
алдын-ала ойластырған жӛн. Сонымен қатар, DISTINCT кілт сӛзі кез 
келген сҧрауда бірнеше рет кӛрсетілуі мҥмкін. 
Мысалы, келесі қоймада тауарды сатып алатын сатып алушылар 
санын есептейді:
SELECT COUNT(DISTINCT САТЫЛЫМДАР. КЛИЕНТ) AS 
Тҧтынушылар саны
FROM САТЫЛЫМДАР
Басқа мысалда бір кҥнде жіберілетін тауарлардың жалпы қҧны 
есептеледі:
SELECT SUM^. Саны*Т. Қҧны) AS Жалпы Бағасы FROM 
САТЫЛЫМДАР П,ТАУАРЛАР Т
WHERE (П. тауар. Тауар) AND (П. Кҥні=' 02.04.2013')
COUNT, MIN, MAX функциялары сандық және сандық емес 
ӛрістерге де қолданылады. SUM және AVG функциялары сандық 
ӛрістер жағдайында ғана пайдаланылуы мҥмкін. 
Кейде сҧраулар сҧрауларда талап етіледі, яғни сіз барлық деректер 
жиынтығына емес, белгілі бір топтар ҥшін функцияны орындау 
нәтижесін аласыз (мысалы, белгілі бір кҥн ҥшін әрбір ӛнім ҥшін әрбір 
клиент ҥшін жиынтықты есептеңіз). Осы мақсатта SELECT операторы 
GROUP BY ережесін қолданады. GROUP BY қатысатын сҧрауды 
шақырады
257
 


Сҧрауды топтастыру, себебі ол SALES операциясының нәтижесі 
ретінде алынған деректерді топтастырады. Әрбір жеке топ ҥшін бір 
жиынтық жол жасалады. SALES сӛйлемінен кейін топтағы мәндерді 
ӛзгертпейтін сол бағандар тізімге енгізіледі, яғни олар топтауға 
қатысады. Мысалы, SALES кестесіндегі тауарларға арналған 
сҧранысты топтастыру арқылы SALES сӛйлеміндегі кҥнді кӛрсете 
алмайсыз, себебі сатудың әртҥрлі кҥндері әр ӛнімге сәйкес келуі 
мҥмкін және сондықтан мҧндай сҧрау қате болады:
SELECT П.Тауар, П.Кҥні SUM(n. Саны)
FROM 
САТЫЛЫМДАР П 
GROUP BY П.Тауар
Сатылған тауарлардың жалпы санын алу ҥшін (12.6-сурет) сҧрауды 
қолданыңыз:
SELECT П. Тауар, SUM^. Саны)
FROM 
САТЫЛЫМДАР П 
GROUP BY П. Тауар
Ал әрбір кҥн ҥшін сатылатын тауарлардың санын алу ҥшін, 
алдыңғы сҧрауды келесідей тҥзету қажет:
SELECT П. тауар П. Кҥні, SUM^. Саны)
FROM САТЫЛЫМДАР П
GROUP BY П. Тауар, П. Кҥні
Басқаша айтқанда, SALES сӛйлемі тізімінде тізілген барлық ӛріс 
атаулары, жиынтығы функциясында баған атауы пайдаланылған 
жағдайды қоспағанда, GROUP BY сӛйлемінде болуы керек. Сонымен 
қатар GROUP BY сӛйлемінде SALES сӛйлемінде жоқ бағандар болуы 
мҥмкін. 
Сҧраулардағы топтауды қолданудың тағы бір мысалы - әрбір 
клиенттің сатып алуларының қосалқы шоты:

Товар
SUM

Конфеты "Коровка"
65
Конфеты "Мишка"
30
Мармелад "Кроха"
20
Мука пшеничная
50
Сахар
50
Сосиски молочные
30
Халва
55
12.6 сурет. Топтық сҧранысты орындау нәтижелері


Достарыңызбен бөлісу:
1   ...   196   197   198   199   200   201   202   203   ...   246




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет