SQL ఓవర్ క్లాజ్

Sql Ovar Klaj



SQL యొక్క అత్యంత అధునాతన లక్షణాలలో ఒకటి OVER నిబంధన. ఇది గణనలను నిర్వహించడానికి మరియు అందించిన ఫలిత సెట్‌లోని నిర్దిష్ట ఉపసమితి వరుసలపై SQL విండో ఫంక్షన్‌లను వర్తింపజేయడానికి మమ్మల్ని అనుమతించే లక్షణం.

మీరు మొత్తం ఫలితం సెట్‌ను పతనం చేయకుండా అడ్డు వరుసల సమూహాల కోసం అగ్రిగేషన్‌లు లేదా ర్యాంకింగ్‌లను లెక్కించాల్సిన అవసరం వచ్చినప్పుడు ఇది చాలా ఉపయోగకరంగా ఉంటుంది.

మీరు ఓవర్ క్లాజ్‌తో పని చేయడం ప్రారంభించడానికి తెలుసుకోవలసిన ప్రతి విషయాన్ని మేము తెలుసుకున్నందున ఈ ట్యుటోరియల్‌లో మాతో చేరండి.







అవసరాలు:

మేము OVER నిబంధన యొక్క కార్యాచరణ మరియు పనితీరులోకి ప్రవేశించే ముందు, మీరు SQL యొక్క ప్రాథమికాలను కలిగి ఉన్నారని నిర్ధారించుకోండి. మీ పరిజ్ఞానాన్ని పరీక్షించడానికి మీరు ఉపయోగించగల డేటాబేస్‌కు మీకు ప్రాప్యత ఉందని కూడా మేము ఊహిస్తాము.



మా విషయంలో, మేము MySQL డేటాబేస్‌ని సకిలా నమూనా డేటాబేస్‌తో ఉపయోగిస్తాము. మీకు తగినంత అనుమతులు ఉన్నాయని మరియు మీ డేటాబేస్ ఇంజిన్ విండో ఫంక్షన్‌లకు మద్దతు ఇస్తుందని నిర్ధారించుకోండి.



సింటాక్స్:

మేము ఇంతకు ముందే చెప్పినట్లుగా, చాలా సందర్భాలలో, మేము ప్రధానంగా విండో ఫంక్షన్‌లతో కలిపి OVER నిబంధనను ఉపయోగిస్తాము.





అలాగే, మేము నిబంధన యొక్క వాక్యనిర్మాణాన్ని ఈ క్రింది విధంగా వ్యక్తీకరించవచ్చు:

<విండో ఫంక్షన్>(వ్యక్తీకరణ) ఓవర్ (

[పార్టీషన్_ఎక్స్‌ప్రెషన్ ద్వారా విభజన, ...]

క్రమబద్ధీకరణ_వ్యక్తీకరణ ద్వారా ఆర్డర్ [ASC | DESC], ...]

[ఫ్రేమ్_స్పెసిఫికేషన్]

)

ఇచ్చిన సింటాక్స్‌లో, మేము ప్రతి భాగాన్ని ఈ క్రింది విధంగా విభజించవచ్చు:



  1. – ఇది SUM(), AVG(), ROW_NUMBER(), RANK మొదలైన నిర్దిష్ట వరుసల విండోలో మనం వర్తింపజేయాలనుకుంటున్న విండో ఫంక్షన్‌ని సూచిస్తుంది.
  2. వ్యక్తీకరణ - ఇది విండో ఫంక్షన్ వర్తించే కాలమ్ లేదా వ్యక్తీకరణను నిర్దేశిస్తుంది.
  3. విభజన ద్వారా - ఇది ప్రతి విభజన ఫంక్షన్ వర్తించే ప్రత్యేక యూనిట్ లాగా ఉన్న ఫలితాన్ని విభజనలుగా విభజించే ఐచ్ఛిక నిబంధన. ఒకే విభజనలోని అడ్డు వరుసలు పేర్కొన్న నిలువు వరుసలలో ఒకే విలువలను పంచుకుంటాయి.
  4. ఆర్డర్ ద్వారా – ఇది ప్రతి విభజనలోని అడ్డు వరుసలు ప్రాసెస్ చేయబడే క్రమాన్ని నిర్దేశిస్తుంది.
  5. frame_specification – ఇది విభజనలోని అడ్డు వరుసల ఫ్రేమ్‌ను నిర్వచించే ఐచ్ఛిక నిబంధన. సాధారణ ఫ్రేమ్ స్పెసిఫికేషన్‌లలో <ప్రారంభం> మరియు <ముగింపు> లేదా <ప్రారంభం> మరియు <ముగింపు మధ్య వరుసలు ఉంటాయి.

అది బయటకు రావడంతో, దాన్ని ఎలా ఉపయోగించాలో కొన్ని ఆచరణాత్మక ఉదాహరణలను అన్వేషిద్దాం.

ఉదాహరణ:

సకిలా నమూనా డేటాబేస్ ఉపయోగించి నిబంధనను ఎలా ఉపయోగించాలో మనం ప్రదర్శిస్తాము. ప్రతి సినిమా కేటగిరీకి సంబంధించిన మొత్తం ఆదాయాన్ని మనం నిర్ణయించాల్సిన ఒక ఉదాహరణను పరిగణించండి.

కింది ఉదాహరణలో చూపిన విధంగా మేము సమ్ విండో ఫంక్షన్‌ని OVER నిబంధనతో మరియు జాయిన్ స్టేట్‌మెంట్‌ల సమూహంతో ఉపయోగించవచ్చు:

ఎంచుకోండి
వర్గం.పేరు AS వర్గం_పేరు,
film.title AS film_title,
film.rental_rate,
SUM(చెల్లింపు.మొత్తం) పైగా (కేటగిరీ.పేరు ద్వారా విభజన) మొత్తం_ఆదాయం
నుండి
చిత్రం
చేరండి
ఫిల్మ్_కేటగిరీ ఆన్
film.film_id = film_category.film_id
చేరండి
వర్గం ఆన్
film_category.category_id = category.category_id
చేరండి
జాబితా ఆన్‌లో ఉంది
film.film_id = inventory.film_id
చేరండి
అద్దె ఆన్
inventory.inventory_id = rental.inventory_id
చేరండి
చెల్లింపు ఆన్
rental.rental_id = payment.rental_id
ద్వారా ఆర్డర్
వర్గం.పేరు,
చిత్రం.శీర్షిక;

ఇచ్చిన ప్రశ్నలో, మేము ఫిల్మ్ టైటిల్, అద్దె రేటును ఎంచుకోవడం ద్వారా ప్రారంభిస్తాము మరియు వర్గం పేరు ద్వారా ప్రతి వర్గం విభజన మొత్తాన్ని నిర్ణయించడానికి మొత్తం (Category.name ద్వారా విభజనపై చెల్లింపు. మొత్తం) వ్యక్తీకరణను ఉపయోగిస్తాము.

ప్రతి ప్రత్యేక వర్గం వద్ద మొత్తం గణన పునఃప్రారంభించబడుతుందని నిర్ధారించుకోవడానికి మేము తప్పనిసరిగా విభజన ద్వారా విభజనను ఉపయోగించాలి.

ఫలిత అవుట్పుట్ క్రింది విధంగా ఉంది:

అక్కడ మీ దగ్గర ఉంది!

ముగింపు

ఈ ఉదాహరణలో, మేము SQLలో OVER నిబంధనతో పని చేసే ప్రాథమికాలను అన్వేషించాము. ఇది ప్రాథమిక నిబంధన కాదు మరియు ఇతర SQL లక్షణాలతో మునుపటి అవగాహన అవసరం.