SQL లీడ్ ఫంక్షన్

Sql Lid Phanksan



SQL లీడ్() ఫంక్షన్ నిర్దిష్ట ఆఫ్‌సెట్‌లో ప్రస్తుత అడ్డు వరుస నుండి తదుపరి అడ్డు వరుసను యాక్సెస్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. సంక్షిప్తంగా, లీడ్() ఫంక్షన్ ప్రస్తుత వరుస నుండి తదుపరి వరుసను యాక్సెస్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. ఆఫ్‌సెట్ విలువను పేర్కొనడం ద్వారా, మీరు ప్రస్తుత వరుస నుండి తదుపరి 1, 2, 3, మొదలైన వరుసలను యాక్సెస్ చేయవచ్చు.

ఇది మునుపటి అడ్డు వరుసలను యాక్సెస్ చేయడానికి మిమ్మల్ని అనుమతించే లాగ్() ఫంక్షన్‌కి వ్యతిరేకం.







SQL లీడ్() ఫంక్షన్

ఫంక్షన్ సింటాక్స్ క్రింది విధంగా ఉంది:



లీడ్(విలువ_వ్యక్తీకరణ, ఆఫ్‌సెట్ [, డిఫాల్ట్])
పైగా (
[PARTITION by partition_expression]
క్రమం_ఎక్స్‌ప్రెషన్ ద్వారా ఆర్డర్ చేయండి [ASC | DESC]
);

కింది మద్దతు వాదనలు:



  1. విలువ_వ్యక్తీకరణ – ఇది మునుపటి అడ్డు వరుస యొక్క రిటర్న్ విలువను నిర్దేశిస్తుంది. వ్యక్తీకరణ తప్పనిసరిగా ఒకే విలువకు మూల్యాంకనం చేయాలి.
  2. ఆఫ్సెట్ – యాక్సెస్ చేయడానికి ప్రస్తుత అడ్డు వరుస నుండి ఎన్ని అడ్డు వరుసలు ముందుకు వెళ్లాలో ఇది నిర్దేశిస్తుంది.
  3. డిఫాల్ట్ - ఆఫ్‌సెట్ విభజన పరిధికి వెలుపల ఉంటే ఇది డిఫాల్ట్ విలువను సెట్ చేస్తుంది. డిఫాల్ట్‌గా, విలువ NULLకి సెట్ చేయబడింది.
  4. ద్వారా విభజన - ఇది డేటాను ఎలా విభజించాలో నిర్దేశిస్తుంది.
  5. ద్వారా ఆర్డర్ చేయండి – ఇది ప్రతి విభజనలోని అడ్డు వరుసల కోసం ఆర్డర్ ఆకృతిని సెట్ చేస్తుంది.

నమూనా డేటా సెటప్

మేము లీడ్() ఫంక్షన్ యొక్క పనితీరులోకి ప్రవేశించే ముందు, ప్రదర్శన ప్రయోజనాల కోసం ప్రాథమిక పట్టికను సెటప్ చేయడం ద్వారా ప్రారంభిద్దాం.





టేబుల్ ఉత్పత్తులను సృష్టించండి (
product_id INT PRIMARY కీ AUTO_INCREMENT,
ఉత్పత్తి_పేరు VARCHAR(255),
వర్గం VARCHAR(255),
ధర డెసిమల్(10, 2),
పరిమాణం INT,
గడువు_తేదీ DATE,
బార్‌కోడ్ BIGINT
);

చొప్పించు
లోకి
ఉత్పత్తులు (ఉత్పత్తి_పేరు,
వర్గం,
ధర,
పరిమాణం,
గడువు తేదీ,
బార్‌కోడ్)
విలువలు ('చెఫ్ Hat 25cm',
'బేకరీ',
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);

చొప్పించు
లోకి
ఉత్పత్తులు (ఉత్పత్తి_పేరు,
వర్గం,
ధర,
పరిమాణం,
గడువు తేదీ,
బార్‌కోడ్)
విలువలు ('పేస్ట్రీ - ఫ్రెంచ్ మినీ కలగలుపు',
'వంటగది',
36.73,
52,
'2023-05-29',
5963886298051);

చొప్పించు
లోకి
ఉత్పత్తులు (ఉత్పత్తి_పేరు,
వర్గం,
ధర,
పరిమాణం,
గడువు తేదీ,
బార్‌కోడ్)
విలువలు ('ఆరెంజ్ - క్యాన్డ్, మాండరిన్',
'ఉత్పత్తి',
65.0,
1,
'2023-04-20',
6131761721332);

చొప్పించు
లోకి
ఉత్పత్తులు (ఉత్పత్తి_పేరు,
వర్గం,
ధర,
పరిమాణం,
గడువు తేదీ,
బార్‌కోడ్)
విలువలు ('పంది మాంసం - భుజం',
'ఉత్పత్తి',
55.55,
73,
'2023-05-01',
9343592107125);

చొప్పించు
లోకి
ఉత్పత్తులు (ఉత్పత్తి_పేరు,
వర్గం,
ధర,
పరిమాణం,
గడువు తేదీ,
బార్‌కోడ్)

విలువలు ('Dc Hikiage Hira Huba',
'ఉత్పత్తి',
56.29,
53,
'2023-04-14',
3354910667072);

ఉదాహరణ 1:

ఈ సందర్భంలో, మేము ఉత్పత్తి సమాచారాన్ని కలిగి ఉన్న “ఉత్పత్తుల” పట్టికకు ప్రాప్యతను కలిగి ఉన్నాము. మేము ప్రస్తుత వరుస నుండి తదుపరి బార్ కోడ్‌ను పొందాలనుకుంటున్నాము.

మేము లీడ్ () ఫంక్షన్‌ను ఈ క్రింది విధంగా ఉపయోగించవచ్చు:



కింది విధంగా ఉద్యోగి సమాచారాన్ని కలిగి ఉన్న పట్టికను కలిగి ఉన్నారని అనుకుందాం:

ఎంచుకోండి
ఉత్పత్తి నామం,
ధర,
లీడ్ (బార్‌కోడ్) పైగా (కేటగిరీ వారీగా విభజన
ద్వారా ఆర్డర్
ధర asc) తదుపరి_అంశం వలె
నుండి
ఉత్పత్తులు p;

ఇవ్వబడిన కోడ్ వర్గం ఆధారంగా డేటాను విభజిస్తుంది. ఇది లీడ్() ఫంక్షన్‌ని ఉపయోగించి విభజనలో తదుపరి బార్‌కోడ్‌ను పొందుతుంది.

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

ఉదాహరణ 2:

నిర్దిష్ట నిలువు వరుసలో (బౌండ్ వెలుపల) తదుపరి అడ్డు వరుస లేకపోతే, ఫంక్షన్ మునుపటి ఉదాహరణలో చూపిన విధంగా విలువను NULLకి సెట్ చేస్తుంది.

ఏదైనా వెలుపలి యాక్సెస్ కోసం డిఫాల్ట్ విలువను సెట్ చేయడానికి, మేము ఈ క్రింది వాటిని చేయవచ్చు:

ఎంచుకోండి
ఉత్పత్తి నామం,
ధర,
లీడ్ (బార్‌కోడ్, 1, 'N/A') పైగా (కేటగిరీ వారీగా విభజన
ద్వారా ఆర్డర్
ధర asc) తదుపరి_అంశం వలె
నుండి
ఉత్పత్తులు p;

మేము డిఫాల్ట్ విలువను 'N/A'కి సెట్ చేసాము. ఇది కింది అవుట్‌పుట్‌లో చూపిన విధంగా ఏదైనా అవుట్-ఆఫ్-బౌండ్ విలువను భర్తీ చేయాలి:

గమనిక : ఆఫ్‌సెట్‌ను 1కి సెట్ చేయడం అనేది ఏ విలువను పేర్కొనకుండా ఉంటుంది.

ఉదాహరణ 3:

మీరు ప్రస్తుత వరుస నుండి తదుపరి రెండు వరుసలను యాక్సెస్ చేయాలనుకుంటున్నారని అనుకుందాం. ఆఫ్‌సెట్ విలువను 2కి సెట్ చేయడం ద్వారా మనం దీన్ని చేయవచ్చు.

ఒక ఉదాహరణ ప్రశ్న కింది వాటిలో వివరించబడింది:

ఎంచుకోండి
ఉత్పత్తి నామం,
ధర,
లీడ్(బార్‌కోడ్, 2, 'N/A') (కేటగిరీ వారీగా విభజన
ద్వారా ఆర్డర్
ధర asc) తదుపరి_అంశం వలె
నుండి
ఉత్పత్తులు p;

ఈ ప్రశ్న కింది వాటిలో చూపిన విధంగా ప్రతి విభజనలో తదుపరి రెండు అడ్డు వరుసలను అందిస్తుంది:

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

ముగింపు

ఈ ట్యుటోరియల్‌లో, ప్రస్తుత వరుస నుండి తదుపరి అంశాన్ని పొందడానికి లీడ్() ఫంక్షన్‌తో ఎలా పని చేయాలో నేర్చుకున్నాము.