SQL GROUP BY 语句
- ముందు పేజీ SQL sum()
- తరువాత పేజీ SQL Having
సమూహ ఫంక్షన్లు (ఉదాహరణకి SUM) సాధారణంగా GROUP BY సంకేతాన్ని జోడించాలి.
GROUP BY సంకేతం
GROUP BY సంకేతం అనేది సమూహ ఫంక్షన్లను (ఉదాహరణకి SUM) జోడించడానికి ఉపయోగిస్తారు. ఒకటి లేదా అనేక నిలువులను ఆధారంగా ఫలితాన్ని వర్గీకరిస్తుంది.
SQL GROUP BY సంకేతం
SELECT column_name, aggregate_function(column_name) FROM table_name WHERE column_name operator value GROUP BY column_name
SQL GROUP BY ఉదాహరణ
మేము ఈ "Orders" పట్టికను కలిగి ఉన్నాము:
O_Id | OrderDate | OrderPrice | Customer |
---|---|---|---|
1 | 2008/12/29 | 1000 | Bush |
2 | 2008/11/23 | 1600 | Carter |
3 | 2008/10/05 | 700 | Bush |
4 | 2008/09/28 | 300 | Bush |
5 | 2008/08/06 | 2000 | Adams |
6 | 2008/07/21 | 100 | Carter |
ఇప్పుడు, మేము ప్రతి కస్టమర్ని సంచిత విలువను (మొత్తం ఆర్డర్లను) కనుగొనడానికి కోరుకున్నాము.
మేము GROUP BY వాక్యాన్ని ఉపయోగించి కస్టమర్లను కలిపి కనుగొనడానికి చేస్తున్నాము.
మేము ఈ క్రింది SQL వాక్యాన్ని ఉపయోగిస్తున్నాము:
SELECT Customer,SUM(OrderPrice) FROM Orders GROUP BY Customer
ఫలితం ఈ విధంగా ఉంటుంది:
Customer | SUM(OrderPrice) |
---|---|
Bush | 2000 |
Carter | 1700 |
Adams | 2000 |
ఇది బాగా ఉందా లేదు?
ఇప్పుడు, మేము GROUP BY వాక్యాన్ని ఉపయోగించి కస్టమర్లను కలిపి కనుగొనడానికి చేస్తున్నాము.
SELECT Customer,SUM(OrderPrice) FROM Orders
ఫలితం ఈ విధంగా ఉంటుంది:
Customer | SUM(OrderPrice) |
---|---|
Bush | 5700 |
Carter | 5700 |
Bush | 5700 |
Bush | 5700 |
Adams | 5700 |
Carter | 5700 |
ఈ ఫలితం మాకు అవసరమైనది కాదు.
ఎందుకు పైన ఉన్న SELECT వాక్యాన్ని వాడలేము? ఈ విధంగా వివరించబడింది: పైన ఉన్న SELECT వాక్యం రెండు కలన్లను (Customer మరియు SUM(OrderPrice)) పేర్కొంది. "SUM(OrderPrice)" ఒక ఏకరూపకం తిరిగి ఇస్తుంది ("OrderPrice" కలన్ల మొత్తం), మరియు "Customer" అనేది 6 విలువలను తిరిగి ఇస్తుంది (ప్రతి విలువ ఒక "Orders" పట్టికలోని ప్రతి పంక్తికి సంబంధించినది). కానీ, మీరు చూసినట్లు గా, GROUP BY వాక్యం ఈ సమస్యను పరిష్కరించింది.
ఒకటికి మించిన కలన్లపై GROUP BY
మేము కూడా ఒకటికి మించిన కలన్లపై GROUP BY వాక్యాన్ని వాడవచ్చు, ఇలా ఉంది:
SELECT Customer,OrderDate,SUM(OrderPrice) FROM Orders GROUP BY Customer,OrderDate
- ముందు పేజీ SQL sum()
- తరువాత పేజీ SQL Having