లోపం “ ఎంపిక జాబితాలో కాలమ్ చెల్లదు ఎందుకంటే ఇది మొత్తం ఫంక్షన్ లేదా GROUP BY నిబంధనలో లేదు ”మీరు అమలు చేసినప్పుడు క్రింద పేర్కొన్నది“ సమూహం ద్వారా ”ప్రశ్న, మరియు మీరు నిబంధనల ప్రకారం సమూహంలో భాగం కాని ఎంపిక జాబితాలో కనీసం ఒక నిలువు వరుసను చేర్చారు లేదా ఇది మొత్తం ఫంక్షన్లో ఉంటుంది గరిష్టంగా (), నిమి (), మొత్తం (), గణన () మరియు సగటు () . కాబట్టి ప్రశ్న పని చేయడానికి, సాధ్యమయ్యే మరియు నిబంధనలపై ఎటువంటి ప్రభావం చూపని లేదా ఈ నిలువు వరుసలను తగిన మొత్తం ఫంక్షన్లో చేర్చడం ద్వారా నిబంధనల ప్రకారం మొత్తం కాని కాని నిలువు వరుసలను సమూహానికి జోడించాలి మరియు ఇది మనోజ్ఞతను కలిగి ఉంటుంది. లోపం MS SQL లో తలెత్తుతుంది కాని MySQL లో కాదు.
లోపం “ఎంచుకున్న జాబితాలో కాలమ్ చెల్లదు ఎందుకంటే ఇది మొత్తం ఫంక్షన్ లేదా GROUP BY నిబంధనలో లేదు”
రెండు కీలకపదాలు “ ద్వారా సమూహం ”మరియు“ మొత్తం ఫంక్షన్ ”ఈ లోపంలో ఉపయోగించబడింది. కాబట్టి వాటిని ఎప్పుడు, ఎలా ఉపయోగించాలో మనం అర్థం చేసుకోవాలి.
నిబంధన ప్రకారం సమూహం:
ఒక విశ్లేషకుడు SQL ను ఉపయోగించి లాభం, నష్టం, అమ్మకాలు, ఖర్చు మరియు జీతం మొదలైన డేటాను సంగ్రహించడం లేదా సమగ్రపరచడం అవసరం అయినప్పుడు, “ సమూహం ద్వారా ఈ విషయంలో చాలా సహాయపడుతుంది. ఉదాహరణకు, మొత్తంగా చెప్పాలంటే, సీనియర్ మేనేజ్మెంట్కు చూపించడానికి రోజువారీ అమ్మకాలు. అదేవిధంగా, మీరు ఒక విశ్వవిద్యాలయ సమూహంలో ఒక విభాగంలోని విద్యార్థుల సంఖ్యను లెక్కించాలనుకుంటే, మొత్తం ఫంక్షన్తో ఇది సాధించడంలో మీకు సహాయపడుతుంది.
స్ప్లిట్-అప్లై-కంబైన్ స్ట్రాటజీ ద్వారా సమూహం:
“స్ప్లిట్-అప్లై-కంబైన్” వ్యూహాన్ని ఉపయోగించి సమూహం
- స్ప్లిట్-ఫేజ్ సమూహాలను వాటి విలువలతో విభజిస్తుంది.
- వర్తించే దశ మొత్తం ఫంక్షన్ను వర్తింపజేస్తుంది మరియు ఒకే విలువను ఉత్పత్తి చేస్తుంది.
- మిశ్రమ దశ సమూహంలోని అన్ని విలువలను ఒకే విలువగా మిళితం చేస్తుంది.
“SPLIT_APPLY_COMBINE” వ్యూహ నమూనా
మొదటి చిత్రంలో C1 ఆధారంగా కాలమ్ మూడు గ్రూపులుగా విభజించబడిందని పై చిత్రంలో మనం చూడవచ్చు, ఆపై సమూహ విలువలపై మొత్తం ఫంక్షన్ వర్తించబడుతుంది. చివరికి కలయిక-దశ ప్రతి సమూహానికి ఒకే విలువను కేటాయిస్తుంది.
దిగువ ఉదాహరణను ఉపయోగించి దీనిని వివరించవచ్చు. మొదట, “అనువర్తనం” అనే డేటాబేస్ సృష్టించండి.
డేటాబేస్ సృష్టి
ఉదాహరణ:
పట్టికను సృష్టించండి “ ఉద్యోగి కింది కోడ్ ఉపయోగించి.
[అనువర్తనాలు] GO సెట్లో ANSI_NULLS ను సెట్ చేయండి QUOTED_IDENTIFIER GO GO ANSI_PADDING GO GO TABLE [dbo]. [ఉద్యోగి] ([e_id] [int] NULL, [e_ename] [varchar] (50) NULL, [dep_id] [పూర్ణాంకానికి NULL, [జీతం] [పూర్ణాంకానికి] ప్రైమరీ]) [ప్రైమరీ] ఆన్ ANSI_PADDING OFF GO సెట్
ఉద్యోగుల పట్టిక సృష్టి
ఇప్పుడు, కింది కోడ్ను ఉపయోగించి డేటాను పట్టికలోకి చొప్పించండి.
ఉద్యోగి (e_id, e_ename, dep_id, జీతం) విలువల్లోకి చొప్పించండి (101, 'సాడియా