మాడ్యూల్ పాఠాలు (1/4)
పరిచయం మరియు ఓవర్ నిబంధన
పరిచయం మరియు ఓవర్ క్లాజ్
డేటాను సమగ్రపరచడానికి GROUP BYని ఎలా ఉపయోగించాలో మునుపటి పాఠాలలో మేము చూశాము. అయినప్పటికీ, GROUP BY భారీ పరిమితిని కలిగి ఉంది: ఇది అడ్డు వరుసలను కుదిస్తుంది. మీరు నగరం వారీగా సమూహం చేస్తే, మీరు ఒక్కో నగరానికి ఒక వరుసను పొందుతారు మరియు వ్యక్తిగత కస్టమర్ల వివరాలను కోల్పోతారు.
ఇక్కడే విండో ఫంక్షన్లు అమలులోకి వస్తాయి. అసలు అడ్డు వరుసలను_ ఉంచుతూ మొత్తం లెక్కలను (మొత్తాలు లేదా సగటులు వంటివి) అమలు చేయడానికి అవి మిమ్మల్ని అనుమతిస్తాయి.
OVER() నిబంధన
మ్యాజిక్ కీవర్డ్ OVER(). ఇది మొత్తం ఫంక్షన్ (ఉదా. SUM, AVG, COUNT) విండో ఫంక్షన్గా పరిగణించబడాలని డేటాబేస్కు చెబుతుంది, మొత్తం ఫలితం సెట్లో (గ్లోబల్ "విండో") గణించబడుతుంది కానీ ప్రతి ఒక్క అడ్డు వరుసలో వర్తింపజేయబడుతుంది మరియు తిరిగి వస్తుంది.
SELECT
order_id,
total_amount,
AVG(total_amount) OVER() AS global_average
FROM orders;ఈ ఉదాహరణలో, మేము ప్రతి వ్యక్తిగత ఆర్డర్ను ఉంచుతాము, కానీ ప్రతి అడ్డు వరుసలో కూడా global_average నిలువు వరుస *సగటు *అన్ని_ ఆర్డర్లతో ఉంటుంది. ఉదాహరణకు, ఆర్డర్ సగటు నుండి ఎంత వైదొలగుతుందో కొలవడానికి చాలా ఉపయోగకరంగా ఉంటుంది!
'ఉత్పత్తులు' పట్టిక నుండి 'ధర' నిలువు వరుసను ఎంచుకోండి. మొత్తం పట్టికలో విండో ఫంక్షన్తో గణించబడిన గరిష్ట ధరను కలిగి ఉన్న 'global_max_price' అనే నిలువు వరుసను జోడించండి.
సూచనను చూపించు
OVER()తో కలిపి MAX(ధర)ని ఉపయోగించండి.
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది
'ఐడి', 'ధర'ను సంగ్రహించి, 'ఉత్పత్తుల' పట్టిక నుండి మొత్తం సగటు ధర ('గ్లోబల్_ఎవిజి')ని జోడించండి.
సూచనను చూపించు
కేవలం AVG(ధర) ఓవర్()ని జోడించండి.
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది