స్టేట్‌మెంట్ ద్వారా 3.1 గ్రూప్

SQL భాష చాలా శక్తివంతమైనది. సాధారణ డేటాను పొందడంతో పాటు, ప్రశ్న సమయంలో డేటాను సమూహపరచడానికి ఇది మిమ్మల్ని అనుమతిస్తుంది. ఉదాహరణకు, మన వద్ద ఉన్న ప్రతి బ్రాండ్‌లో ఎన్ని రకాల ఉత్పత్తులు ఉన్నాయో తెలుసుకోవాలనుకుంటున్నాము, మనం దానిని ఎలా చేయగలం?

దీని కోసం ఒక ప్రత్యేక ఆపరేటర్ ఉంది GROUP BY, ఇది ఎలా వ్రాయబడిందో ఇక్కడ ఉంది.

GROUP BY column

ప్రతి బ్రాండ్ కోసం ఉత్పత్తి రకాల సంఖ్యను ప్రదర్శించమని SQLని అడిగే ప్రశ్నను వ్రాద్దాం. అటువంటి అభ్యర్థన ఇలా కనిపిస్తుంది:

SELECT brand, COUNT(*)
FROM product
GROUP BY brand

మీరు ఈ క్రింది ప్రశ్న ఫలితాన్ని పొందుతారు:

బ్రాండ్ గణన (*)
(శూన్య) 2
బాష్ 4
IKEA 6
LG 2
స్మార్ట్‌ఫ్లవర్ 1

మేము ఏ రకమైన అభ్యర్థనను వ్రాసాము మరియు మనకు ఎలాంటి ఫలితం వచ్చింది అని జాగ్రత్తగా విశ్లేషిద్దాం. ఫలితంగా, మేము రెండు నిలువు వరుసలను చూస్తాము. బ్రాండ్‌ల జాబితాతో మొదటిది, ఇది తార్కికం. మేము "బ్రాండ్ --> పరిమాణం" జంటల సమితి వంటి వాటిని పొందాలనుకుంటున్నాము .

బ్రాండ్ పేర్లలో ఒక పదం ఉందని దయచేసి గమనించండి NULL. నిజానికి, అది వ్రాసిన బ్రాండ్‌లో మేము ఉత్పత్తులను కలిగి ఉన్నాము NULLమరియు వాటిని ఇక్కడ చూస్తాము. కొంచెం ఊహించనిది, కానీ సహాయకరంగా ఉంది. బ్రాండ్ లేని ఉత్పత్తులు ఎన్ని ఉన్నాయో మనం చూడవచ్చు.

ఇప్పుడు అభ్యర్థనను నిశితంగా పరిశీలిద్దాం. మేము ప్రతి బ్రాండ్ యొక్క ఉత్పత్తుల సంఖ్యను తెలుసుకోవాలనుకున్నాము, కాబట్టి మేము వ్రాసాము GROUP BY brandమరియు మేము బ్రాండ్ మరియు వ్యక్తీకరణను SELECTవ్రాసాముCOUNT(*)

COUNT(*)వరుసల సమూహంలో నిర్వహించబడే మొత్తం ఫంక్షన్ అని పిలవబడేది. మా విషయంలో, ఆమె వారి సంఖ్యను మాత్రమే లెక్కిస్తుంది. అటువంటి విధులు చాలా ఉన్నాయి మరియు మేము వాటిని కొంచెం తరువాత పరిశీలిస్తాము.

3.2 GROUP ద్వారా సంక్లిష్ట ప్రశ్నలు

ఇప్పుడు మనం మొదట 10 కంటే తక్కువ ధర ఉన్న ఉత్పత్తులను విస్మరించి, ఆపై వాటిని సమూహం చేసే ప్రశ్నను వ్రాస్దాం. అటువంటి అభ్యర్థన ఇలా కనిపిస్తుంది:

SELECT brand, COUNT(*)
FROM product
WHERE price > 10
GROUP BY brand

మీరు ఈ క్రింది ప్రశ్న ఫలితాన్ని పొందుతారు:

బ్రాండ్ గణన (*)
బాష్ 4
IKEA 5
LG 2
స్మార్ట్‌ఫ్లవర్ 1

అన్ని NULL ఉత్పత్తులు మా ఫలితాల పట్టిక నుండి అదృశ్యమయ్యాయి, ఎందుకంటే అవి చాలా చౌకగా ఉన్నాయి మరియు IKEA ఉత్పత్తుల సంఖ్య 1 తగ్గింది. 6 నుండి 5కి.

WHEREమీరు మొదట ఫిల్టర్ చేయడానికి కావలసిన పంక్తులను వర్తింపజేయాలని మరియు ఫలితానికి సమూహాన్ని వర్తింపజేయాలని ఇది సూచిస్తుంది .

3.3 ఫలితం యొక్క నిలువు వరుస పేర్లు

మార్గం ద్వారా, మీరు ఫలిత నిలువు వరుసలకు పేర్లను ఇవ్వవచ్చు. సర్వర్ పేరును ఎలా సూచించిందో చూడండి count(*)? దాన్ని మొత్తంతో భర్తీ చేద్దాం. అటువంటి అభ్యర్థన ఇలా కనిపిస్తుంది:

SELECT brand, COUNT(*) AS total
FROM product
WHERE price > 10
GROUP BY brand

మీరు ఈ క్రింది ప్రశ్న ఫలితాన్ని పొందుతారు:

బ్రాండ్ మొత్తం
బాష్ 4
IKEA 5
LG 2
స్మార్ట్‌ఫ్లవర్ 1

మీరు ఇప్పటికే ఉన్న నిలువు వరుసల పేరును కూడా మార్చవచ్చు. మునుపు ఉపయోగించిన ప్రశ్నలలో ఒకదానిని తీసుకుందాం మరియు నిలువు వరుసలకు కొత్త పేర్లను చేర్చండి.

SELECT
id AS  product_id,
name AS product_name,
price
FROM product
WHERE price < 20 AND brand IS NOT NULL

మీరు ఈ క్రింది ప్రశ్న ఫలితాన్ని పొందుతారు:

ఉత్పత్తి_ఐడి ఉత్పత్తి నామం ధర
2 కుర్చీ 5.00
8 దీపం 15.00