డేటాబేస్ పరిపాలనలో కూడా వచ్చే సాధారణ గణాంక గణనలలో ఒకటి పర్సంటైల్.
పర్సంటైల్ అనేది డేటాసెట్ను సమాన భాగాలుగా విభజించడానికి అనుమతించే గణాంక కొలత. డేటా పంపిణీపై అంతర్దృష్టిని అందించడం పర్సంటైల్ల పాత్ర, అంటే విలువలు ఎలా విస్తరించాలో మనం అర్థం చేసుకుంటాము.
ఈ ట్యుటోరియల్లో, డేటాను వివిధ విభాగాలుగా విభజించడానికి SQLలోని పర్సంటైల్లను ఎలా లెక్కించవచ్చో నేర్చుకుంటాము.
నమూనా పట్టిక
ప్రదర్శన ప్రయోజనాల కోసం నమూనా డేటాను కలిగి ఉన్న ప్రాథమిక పట్టికను సెటప్ చేయడం ద్వారా ప్రారంభిద్దాం. పర్సంటైల్లను లెక్కించే వివిధ పద్ధతులు ఎలా ప్రవర్తిస్తాయో మరియు ఫలిత అవుట్పుట్ను వివరించడానికి ఇది మాకు సహాయపడుతుంది.
కిరాణా సమాచారాన్ని కలిగి ఉన్న “ఉత్పత్తులు” అనే పట్టికను సృష్టిద్దాం. 'టేబుల్ సృష్టించు' నిబంధన క్రింది విధంగా ఉంది:
టేబుల్ ఉత్పత్తులను సృష్టించండి (
product_id INT ప్రాథమిక కీ AUTO_INCREMENT,
ఉత్పత్తి_పేరు VARCHAR( 255 ),
వర్గం VARCHAR( 255 ),
ధర డెసిమల్( 10 , 2 ),
పరిమాణం INT,
గడువు_తేదీ DATE,
బార్కోడ్ BIGINT
);
మేము పట్టికను సృష్టించిన తర్వాత, మేము కొనసాగవచ్చు మరియు నమూనా డేటాను పట్టికలోకి జోడించవచ్చు. మేము ఈ క్రింది “ఇన్సర్ట్” స్టేట్మెంట్లను ఉపయోగించవచ్చు:
చొప్పించులోకి
ఉత్పత్తులు (ఉత్పత్తి_పేరు,
వర్గం,
ధర,
పరిమాణం,
గడువు తేదీ,
బార్కోడ్)
విలువలు ( 'చెఫ్ టోపీ 25 సెం.మీ' ,
'బేకరీ' ,
24.67 ,
57 ,
'2023-09-09' ,
2854509564204 );
చొప్పించు
లోకి
ఉత్పత్తులు (ఉత్పత్తి_పేరు,
వర్గం,
ధర,
పరిమాణం,
గడువు తేదీ,
బార్కోడ్)
విలువలు ( 'పిట్ట గుడ్లు - క్యాన్డ్' ,
'వంటగది' ,
17.99 ,
67 ,
'2023-09-29' ,
1708039594250 );
చొప్పించు
లోకి
ఉత్పత్తులు (ఉత్పత్తి_పేరు,
వర్గం,
ధర,
పరిమాణం,
గడువు తేదీ,
బార్కోడ్)
విలువలు ( 'కాఫీ - ఎగ్ నాగ్ కాపుచినో' ,
'బేకరీ' ,
92.53 ,
10 ,
'2023-09-22' ,
8704051853058 );
చొప్పించు
లోకి
ఉత్పత్తులు (ఉత్పత్తి_పేరు,
వర్గం,
ధర,
పరిమాణం,
గడువు తేదీ,
బార్కోడ్)
విలువలు ( 'పియర్ - ప్రిక్లీ' ,
'బేకరీ' ,
65.29 ,
48 ,
'2023-08-23' ,
5174927442238 );
చొప్పించు
లోకి
ఉత్పత్తులు (ఉత్పత్తి_పేరు,
వర్గం,
ధర,
పరిమాణం,
గడువు తేదీ,
బార్కోడ్)
విలువలు ( 'పాస్తా - ఏంజెల్ హెయిర్' ,
'వంటగది' ,
48.38 ,
59 ,
'2023-08-05' ,
8008123704782 );
చొప్పించు
లోకి
ఉత్పత్తులు (ఉత్పత్తి_పేరు,
వర్గం,
ధర,
పరిమాణం,
గడువు తేదీ,
బార్కోడ్)
విలువలు ( 'వైన్ - ప్రోసెకో వాల్డోబియాడెనే' ,
'ఉత్పత్తి' ,
44.18 ,
3 ,
'2023-03-13' ,
6470981735653 );
ముగింపులో, మీరు ఈ క్రింది విధంగా పట్టికను కలిగి ఉండాలి:
SQL శాతం
మీరు ఊహించినట్లుగా, డేటాబేస్ ఇంజిన్పై ఆధారపడి పర్సంటైల్ను లెక్కించే విధానం భిన్నంగా ఉండవచ్చు. అయితే, అత్యంత సాధారణ పద్ధతి PERCENTILE_DISC() మరియు PERCENTILE_CONT() ఫంక్షన్లను ఉపయోగించడం.
ఈ విధులు ప్రామాణిక SQL స్పెసిఫికేషన్ (2003)లో భాగం. అందువల్ల, దీనికి PostgreSQL మరియు Oracle మద్దతు ఇవ్వాలి.
PERCENTILE_CONT()
PERCENTILE_CONT() ఫంక్షన్తో ప్రారంభిద్దాం. ఈ ఫంక్షన్ డేటాసెట్ యొక్క భిన్నం వలె పర్సంటైల్ విలువలను లెక్కించడానికి అనుమతిస్తుంది.
ఫంక్షన్ మీ డేటాసెట్లోని నిర్దిష్ట డేటా పాయింట్కి ఖచ్చితంగా ఉండని ఇంటర్పోలేటెడ్ విలువలను అందిస్తుంది.
ఫంక్షన్ సింటాక్స్ క్రింది విధంగా ఉంది:
PERCENTILE_CONT(శాతం) లోపల సమూహం ( ఆర్డర్ కాలమ్_పేరు ద్వారా) ఓవర్ ();ఫంక్షన్ క్రింది పారామితులను అంగీకరిస్తుంది:
- పర్సంటైల్ - ఇది కావలసిన పర్సంటైల్ విలువను (0.0 నుండి 1.0) నిర్దేశిస్తుంది.
- column_name - ఇది మనం పర్సంటైల్ను లెక్కించాలనుకుంటున్న నిలువు వరుసను సూచిస్తుంది.
- ఓవర్ () - ఇది మొత్తం డేటాసెట్ను పేర్కొనడానికి విండో ఫంక్షన్ను సెట్ చేస్తుంది.
ఈ ఫంక్షన్ను ఎలా ఉపయోగించాలో ఉదాహరణ క్రింది విధంగా ఉంది:
ఎంచుకోండిPERCENTILE_CONT( 0.5 ) లోపల సమూహం ( ఆర్డర్ ధర ప్రకారం) ఓవర్ () మధ్యస్థంగా
నుండి
ఉత్పత్తులు;
గమనిక: MySQL సమూహంలో వినియోగానికి మద్దతు ఇవ్వదు కాబట్టి ఇవ్వబడిన ప్రశ్న PostgreSQLలో మాత్రమే పని చేస్తుంది.
ఇది 50ని లెక్కిస్తుంది వ అందించిన డేటా యొక్క శాతం.
PERCENTILE_DISC()
డేటాసెట్ నుండి నేరుగా వివిక్త విలువగా పర్సంటైల్ విలువను లెక్కించడానికి మేము PERCENTILE_DISC() ఫంక్షన్ని ఉపయోగించవచ్చు.
ఫంక్షన్ వాస్తవ డేటా పాయింట్కి అనుగుణంగా ఉండే విలువను అందిస్తుంది.
ఫంక్షన్ సింటాక్స్ క్రింది విధంగా ఉంది (PostgreSQL):
PERCENTILE_DISC(శాతం) లోపల సమూహం ( ఆర్డర్ కాలమ్_పేరు ద్వారా) ఓవర్ ();ఉదాహరణ అవుట్పుట్ క్రింది విధంగా ఉంది:
ఎంచుకోండిPERCENTILE_DISC( 0.25 ) లోపల సమూహం ( ఆర్డర్ ధర ద్వారా) ఓవర్ () AS శాతం_25
నుండి
ఉత్పత్తులు;
ఇది 25ని లెక్కించాలి వ డేటా శాతం.
ముగింపు
ఈ ట్యుటోరియల్ SQL డేటాబేస్లలో పర్సంటైల్లను లెక్కించడానికి వివిధ ఫంక్షన్లను ఎలా ఉపయోగించాలో వివరించింది.