SQLలో, ఒక డేటాబేస్ పట్టికలోని సంఖ్యా కాలమ్ యొక్క రన్నింగ్ టోటల్ను లెక్కించడానికి మమ్మల్ని అనుమతించే పద్ధతిని సంచిత మొత్తం సూచిస్తుంది. పురోగతిని ట్రాక్ చేయడం లేదా ఇచ్చిన విలువ యొక్క రోలింగ్ సగటులను లెక్కించడం వంటి అనేక రకాల దృశ్యాలలో సంచిత మొత్తం అమలులోకి వస్తుంది.
ఈ ట్యుటోరియల్లో, వివిధ పద్ధతులు మరియు సాంకేతికతలను ఉపయోగించి SQLలో సంచిత మొత్తాన్ని ఎలా అమలు చేయాలో మరియు ఉపయోగించాలో నేర్చుకుంటాము.
నమూనా డేటా
సంచిత మొత్తాన్ని ఎలా అమలు చేయాలి మరియు ఉపయోగించవచ్చో బాగా అర్థం చేసుకోవడానికి, నమూనా డేటాతో ప్రాథమిక పట్టికను సెటప్ చేయడం ద్వారా ప్రారంభిద్దాం. ఈ పోస్ట్లో అన్ని పద్ధతుల పనితీరును త్వరగా మరియు సమర్ధవంతంగా ప్రదర్శించడానికి ఇది మాకు అనుమతిస్తుంది.
ఉత్పత్తి సమాచారాన్ని నిల్వ చేసే ప్రాథమిక పట్టికను సృష్టించడం ద్వారా ప్రారంభించండి.
టేబుల్ ఉత్పత్తులను సృష్టించండి (
product_id INT ప్రైమరీ కీ,
ఉత్పత్తి_పేరు VARCHAR ( 255 ) ,
ధర డెసిమల్ ( 10 , 2 )
) ;
ఇది ఉత్పత్తి ఐడి, ఉత్పత్తి పేరు మరియు ప్రతి ఉత్పత్తి ధరను నిల్వ చేసే 'ఉత్పత్తులు' అనే కొత్త పట్టికను సృష్టించాలి.
మేము క్రింది ఉదాహరణ ఇన్సర్ట్ స్టేట్మెంట్లలో చూపిన విధంగా నమూనా డేటాను జోడించడానికి కొనసాగవచ్చు:
ఉత్పత్తులలోకి చొప్పించండి ( product_id, product_name, ధర )
విలువలు
( 1 , 'విజువల్ స్టూడియో కోడ్' , 10.00 ) ,
( 2 , 'ఉత్కృష్టమైన వచనం' , 80.00 ) ,
( 3 , 'PyCharm ప్రొఫెషనల్' , 199.00 ) ,
( 4 , 'ఎక్లిప్స్ IDE' , 30.00 ) ,
( 5 , 'IntelliJ IDEA అల్టిమేట్' , 699.00 ) ,
( 6 , 'GitHub డెస్క్టాప్' , 20.00 ) ,
( 7 , 'వెయిట్ సాఫ్ట్వేర్' , 10.00 ) ,
( 8 , 'Xcode' , 660.00 ) ,
( 9 , 'నెట్బీన్స్' , 0.00 ) ,
( 10 , 'అణువు' , 60.00 ) ;
గమనిక: ఇచ్చిన డేటా పూర్తిగా కల్పితం. ఇది జాబితా చేయబడిన ఏ వస్తువు యొక్క వాస్తవ ధరను సూచించదు.
ఫలిత పట్టిక క్రింది విధంగా ఉంది:
SQL క్యుములేటివ్ సమ్ (సెల్ఫ్ జాయిన్)
ఇచ్చిన కాలమ్లో సంచిత మొత్తాన్ని అమలు చేయడానికి మనం ఉపయోగించే టెక్నిక్లలో ఒకటి సెల్ఫ్-జాయిన్ పద్ధతిని ఉపయోగించడం. ఈ పద్ధతి యొక్క ఒక ప్రయోజనం ఏమిటంటే ఇది విండో ఫంక్షన్లకు మద్దతు ఇవ్వని దాదాపు అన్ని SQL డేటాబేస్లలో కూడా పని చేస్తుంది.
ఉదాహరణకు మునుపటి 'ఉత్పత్తుల' పట్టికను తీసుకోండి. కింది ప్రశ్నలో ప్రదర్శించిన విధంగా మేము ధర కాలమ్ యొక్క సంచిత మొత్తాన్ని సృష్టించవచ్చు:
ఎంచుకోండిp1.product_id,
p1.product_name,
p1.ధర,
మొత్తం ( p2.ధర ) AS సంచిత_మొత్తం
నుండి
ఉత్పత్తులు p1
చేరండి
ఉత్పత్తులు p2
పై
p1.product_id > = p2.product_id
సమూహం ద్వారా
p1.product_id,
p1.product_name,
p1.ధర
ద్వారా ఆర్డర్
p1.product_id;
మీరు ప్రశ్న యొక్క పనితీరును గమనించారా? కాకపోతే, మేము దానిని దశలవారీగా వివరించేటప్పుడు మాతో ఉండండి.
ఇచ్చిన ఉదాహరణ ప్రశ్నలో, మేము స్వీయ-చేరడానికి వీలు కల్పించే 'ఉత్పత్తుల' పట్టిక కోసం 'p1' మరియు 'p2' అనే రెండు మారుపేర్లను సృష్టించడం ద్వారా ప్రారంభిస్తాము.
'p1' యొక్క 'product_id' 'p2' యొక్క 'product_id' కంటే ఎక్కువ లేదా సమానంగా ఉండాలనే షరతుపై మేము 'p1' మరియు 'p2'లో చేరడానికి కొనసాగుతాము.
తదుపరి దశలో, మేము సమ్() ఫంక్షన్ని పిలుస్తాము, ఇది ప్రాథమికంగా ప్రతి అడ్డు వరుస కోసం ధరల సంచిత మొత్తాన్ని గణిస్తుంది.
చివరగా, మేము 'product_id', 'product_name' మరియు 'price'ని ఉపయోగించి ఫలితాలను సమూహపరుస్తాము మరియు ఫలితాలను ఆర్డర్ చేస్తాము.
ఈ ఆపరేషన్ తర్వాత, కింది వాటిలో చూపిన విధంగా ఫలిత పట్టికలో ప్రదర్శించిన విధంగా ప్రతి రికార్డ్కు సంచిత మొత్తాన్ని కలిగి ఉండాలి:
మీరు చూడగలిగినట్లుగా, మేము మునుపటి అన్ని అడ్డు వరుసల మొత్తం మొత్తాన్ని పొందుతాము. చివరి అడ్డు వరుసలో మునుపటి అడ్డు వరుసల మొత్తం మొత్తం ఉండాలి.
SQL క్యుములేటివ్ సమ్ (విండో ఫంక్షన్లు)
SQLలో సంచిత మొత్తాన్ని లెక్కించడానికి మరింత సమర్థవంతమైన మరియు ఆచరణాత్మక మార్గం విండో ఫంక్షన్లకు మద్దతు ఇచ్చినప్పుడల్లా దాని ప్రయోజనాన్ని పొందడం.
మీకు SQL సర్వర్, PostgreSQL లేదా MySQL వెర్షన్ 8.0 మరియు అంతకంటే ఎక్కువ డేటాబేస్ ఉంటే, ఇచ్చిన నిలువు వరుస యొక్క సంచిత మొత్తాన్ని నిర్ణయించడానికి ఇది అత్యంత ఉపయోగకరమైన మరియు సిఫార్సు చేయబడిన పద్ధతి.
కింది వాటిలో ప్రదర్శించబడిన ఉదాహరణను పరిశీలించండి:
ఎంచుకోండిఉత్పత్తి_ఐడి,
ఉత్పత్తి నామం,
ధర,
మొత్తం ( ధర ) పైగా ( product_id ద్వారా ఆర్డర్ చేయండి ) AS సంచిత_మొత్తం
నుండి
ఉత్పత్తులు;
ఈ సందర్భంలో, మేము 'ఉత్పత్తులు' పట్టిక నుండి 'product_id', 'product_name' మరియు 'price' నిలువు వరుసలను ఎంచుకోవడం ద్వారా ప్రారంభిస్తాము.
మేము SUM() ఫంక్షన్ని OVER నిబంధనను ఉపయోగించి విండో ఫంక్షన్గా ఉపయోగిస్తాము.
OVER నిబంధనలో, సంచిత మొత్తాన్ని లెక్కించే క్రమాన్ని నిర్వచించే నిబంధన ద్వారా మేము ఆర్డర్ని నిర్దేశిస్తాము.
కింది వాటిలో చూపిన విధంగా ఇది సారూప్యమైన అవుట్పుట్ను అందించాలి:
సెల్ఫ్-జాయిన్లను ఉపయోగించడంతో పోలిస్తే విండో ఫంక్షన్లను ఉపయోగించడం మరింత పొందికైనది, సమర్థవంతమైనది మరియు చదవగలిగేది అని మీరు గమనించవచ్చు.
ముగింపు
ఈ ట్యుటోరియల్లో, మేము SQLలో సంచిత మొత్తాలను గురించి తెలుసుకున్నాము. SQLలో సంచిత మొత్తాన్ని నిర్వహించడానికి స్వీయ-జాయిన్స్ మరియు విండో ఫంక్షన్లను ఎలా ఉపయోగించాలో కూడా మేము కవర్ చేసాము.