Postgresql குழு மூலம்

Postgresql Kulu Mulam



Postgresql group by clause என்பது ஒரே தரவைக் கொண்ட அட்டவணையில் உள்ள அந்த வரிசைகளை ஒன்றிணைக்க/ஒருங்கிணைக்கப் பயன்படும் அம்சமாகும். இந்த உட்பிரிவு முக்கியமாக நகல் தரவை அகற்றவும் மற்றும் ஒத்திசைவை பராமரிக்கவும் பயன்படுத்தப்படுகிறது. நாம் தொகையையோ அல்லது AVG போன்ற வேறு ஏதேனும் மொத்தத்தையோ கணக்கிட விரும்பும் போதெல்லாம், PostgreSQL இல் பல உட்பிரிவுகள் பயன்படுத்தப்படுவதால், இந்தக் குழு உட்பிரிவு மூலம் எப்போதும் பயன்படுத்தப்படுகிறது. ஆனால் ஒவ்வொரு பிரிவிற்கும் இடையில் ஒரு படிநிலை உள்ளது.

இருந்து > எங்கிருந்து > 'குழு மூலம்' > கொண்டிருத்தல் > தேர்ந்தெடு > வேறுபட்டது > ஆர்டர் மூலம் > வரம்பு

PostgreSQL இன் செயல்பாடு 'எங்கே' மற்றும் 'உள்ளது' விதிகளுக்குள் உள்ளது.







தொடரியல்



தேர்வு நெடுவரிசை

டூமிட்டபில் இருந்து

எங்கே [நிபந்தனைகள்]

முதல் நெடுவரிசை, இரண்டாவது நெடுவரிசை மூலம் குழு..

ஆர்டர் முதல் நெடுவரிசை, இரண்டாவது நெடுவரிசை.. ;

எடுத்துக்காட்டு 1



செயல்பாட்டின் மூலம் குழுவின் கருத்தை புரிந்து கொள்ள, இங்கே ஒரு உதாரணத்தைப் பயன்படுத்துகிறோம். பயணிகளின் அட்டவணையில், சிலருக்கு கடைசி பெயர்கள் ஒரே மாதிரியாக இருப்பதை நீங்கள் காணலாம். மற்றொரு பெயருக்கு ஒத்த ஒவ்வொரு பெயரும் ஒரு குழுவை உருவாக்குகிறது, மேலும் அவற்றின் கட்டணம் ஒவ்வொரு பெயருக்கும் எதிராக கூட்டாக சேர்க்கப்படும். இது கீழே உள்ள எடுத்துக்காட்டில் விரிவாக விவரிக்கப்பட்டுள்ளது.





பயணிகள் குழுவில் இருந்து பெயர், தொகை (கட்டணம்) பெயரைத் தேர்ந்தெடுக்கவும்;

பயணிகளின் கடைசிப் பெயர், 'செலுத்துதல்' என்ற நெடுவரிசையை எடுக்கும் 'SUM' என்ற உள்ளமைக்கப்பட்ட செயல்பாட்டைப் பயன்படுத்தி தேர்ந்தெடுக்கப்பட்டது. அதே பெயரைக் கொண்டவர்களுக்கான கட்டணத்தைச் சேர்க்கவும். உதாரணமாக, 'ஜாவேத்' மற்றும் 'சாத்' ஆகியோரின் சம்பளம் சேர்க்கப்பட்டுள்ளது. அதேசமயம் 'மாலிக்' மற்றும் 'ஷாம்ஸ்' ஆகியவற்றுக்கு தனித்தனியாக குறிப்பிடப்பட்டுள்ளது.



இதேபோல், ஒரு அட்டவணையை 'மருத்துவமனை' என்று கருதுங்கள். நாங்கள் நகரத்தை வயதுக்கு ஏற்ப வகைப்படுத்த விரும்புகிறோம். இந்த எடுத்துக்காட்டில், ஒரு நகரம் ஒரு நெடுவரிசையில் ஒன்றுக்கு மேற்பட்ட முறை உள்ளது. ஒவ்வொரு நகரமும் ஒரே நகரத்தின் பெயருடன் தொகுக்கப்பட்டுள்ளது. நகரத்தின் ஒவ்வொரு குழுவின் வயதுகளும் சேர்க்கப்பட்டு ஒற்றை வரிசையை உருவாக்குகின்றன.

மருத்துவமனை:

>> நகரம், SUM (வயது) மருத்துவமனை குழுவில் இருந்து தேர்ந்தெடுக்கவும்;

உதாரணம் 2

மாற்றாக, டேபிள் பயணியிலிருந்து ஐடியுடன் கடைசி பெயரைத் தேர்ந்தெடுத்தால், அதன் விளைவாக வேறு அட்டவணை இருக்கும். ஏனென்றால், இரண்டு நெடுவரிசைகளையும் ஒன்றாகக் குழுவாக்கும்போது, ​​ஒவ்வொரு பயணியின் பெயரையும் அது காண்பிக்கும், ஏனெனில் ஒவ்வொரு பயணிக்கும் பொதுவான கடைசிப் பெயரைக் கொண்டாலும் கூட, ஐடி வேறுபட்டது. தொகை ஒரு தனி நெடுவரிசையில் கணக்கிடப்படுகிறது, ஆனால் ஒவ்வொரு பயணிகளின் கட்டணமும் அவரது பெயருக்கு முன்னால் குறிப்பிடப்பட்டுள்ளது, ஏனெனில் எல்பெயரின் குழுவாக்கம் இங்கு செய்யப்படவில்லை.

இது பல நெடுவரிசைகளைக் கொண்ட பிரிவின்படி குழுவின் எடுத்துக்காட்டு. ஏனெனில் பல நெடுவரிசைகளை குழுவாக்குவதற்குத் தேர்ந்தெடுக்கப்பட்டால், அதன் விளைவாக வரும் மதிப்பு குழுவுடன் ஒப்பிடும்போது ஒரு அட்டவணையால் மாற்றப்படும்.

>> ஐடி, பெயர், தொகை (கட்டணம்) ஐடி, பெயர் மூலம் பயணிகள் குழுவிலிருந்து தேர்ந்தெடுக்கவும்;

வெளியீட்டில் இருந்து, நீங்கள் ஒரு விஷயத்தை கவனிப்பீர்கள், முதலில், அசாதாரணமான அனைத்து பெயர்களும் காட்டப்படும், பின்னர் அதே பெயர்கள் அட்டவணையில் குறிப்பிடப்பட்டுள்ளன.

எடுத்துக்காட்டு 3

இந்த எடுத்துக்காட்டில் ஒரு சேர நிபந்தனை மற்றும் பிரிவு வாரியாக ஒரு குழு உள்ளது. 'சேர' பயன்படுத்தப்படுவதால், நாம் இங்கு இரண்டு அட்டவணைகளைப் பயன்படுத்தியுள்ளோம். ஒன்று 'உருப்படி', மற்றொன்று 'ஆர்டர்கள்'.

பொருட்களை:

ஆர்டர்கள்:

'உருப்படிகள்' அட்டவணையின் இரண்டு நெடுவரிசைகளின் மதிப்புகளை '' உடன் இணைப்பதற்கும் (இரண்டு சரங்களை இணைக்கப் பயன்படுகிறது) ஒரு இணைப்பு முறையைப் பயன்படுத்தியுள்ளோம், மேலும் நெடுவரிசையை கூட்டாக 'விளக்கம்' என்று பெயரிடுவோம். இது விருப்பமானது; நீங்கள் அவற்றை தனித்தனியாக எடுத்துக் கொள்ளலாம். இந்த வினவலில், 'USING' என்ற முக்கிய சொல் மற்ற அட்டவணையில் இருந்து குறிப்பிட்ட நெடுவரிசையை அடையாளம் காட்டுகிறது. உருப்படிகள் அட்டவணையில் உள்ள முகவரி 'ஆர்டர்கள்' அட்டவணையின் முகவரி நெடுவரிசையுடன் பொருந்துகிறது. இரண்டு அட்டவணைகளுக்கு இடையில் ஒரு இணைப்பதன் மூலம் இது செய்யப்படுகிறது. முந்தைய எடுத்துக்காட்டுகளைப் போலவே, இரண்டு நெடுவரிசைகளும் GROUP மூலம் பிரிவு மூலம் தேர்ந்தெடுக்கப்படும்.

>> பெயரைத் தேர்ந்தெடுக்கவும் || ‘,’ || விளக்கம் என வகை, உள் சேரும் பொருட்களிலிருந்து முகவரி

ஆர்டர்களின் முகவரியுடன் பொருந்திய பொருட்களின் முகவரியுடன் 5 வரிசைகள் தேர்ந்தெடுக்கப்படுவதை நீங்கள் அவதானிக்கலாம். பின்னர், விளக்கம் நெடுவரிசை முகவரி நெடுவரிசையுடன் கடிதமாக உருவாக்கப்படும்.

இதேபோல், இரண்டு அட்டவணைகளில் வயது காரணியுடன் இணைக்கப்படுவதற்கு மற்றொரு எடுத்துக்காட்டு உள்ளது. ஒன்று 'பயணிகள்', மற்றொன்று 'தொழிலாளர்'. முதல் பெயருக்கும் கடைசி பெயருக்கும் இடையில் ஒருங்கிணைப்பு உள்ளது. இந்த இரண்டு பெயர்களும் இரண்டு பெயர்களுக்கு இடையில் உள்ள இடைவெளி மூலம் பிரிக்கப்படுகின்றன. தொழிலாளர் அட்டவணையின் ஒரு பகுதியை இங்கு எடுத்துள்ளோம்.

தொழிலாளி:

வினவல் வேலை செய்யும், இதனால் பணியாளரின் பெயர் பயணியுடன் பொருந்தியிருக்கும் புள்ளி, பயணிகளின் வயது, வயது நெடுவரிசையில் காட்டப்படும்.

>> பெயரைத் தேர்ந்தெடுக்கவும் || ‘’ || passenger.lname full_name, passenger.age from the passenger INNER (fname) GROUP ஐப் பயன்படுத்தி முழுப்பெயர், passenger.வயது ஆர்டர் மூலம் passenger.வயது;

ஒரு வரிசை உருவாகிறது. இரண்டு நெடுவரிசைகளை இடத்துடன் இணைப்பதன் மூலம் முழு_பெயர் உருவாக்கப்பட்டது, மேலும் பயணிகளின் பெயரும் தொழிலாளியின் பெயரும் பொருந்தக்கூடிய முகவரி தேர்ந்தெடுக்கப்பட்டது.

எடுத்துக்காட்டு 4

இந்த உதாரணம், 'உருப்படிகள்' அட்டவணையின் ஐடிகளை எண்ணுவதற்கு ஒரு எண்ணிக்கை () செயல்பாட்டைப் பயன்படுத்துகிறது. இது மீண்டும் அட்டவணையின் ஐடி மூலம் குழுவாகும்.

>> ஐடியைத் தேர்ந்தெடுக்கவும், COUNT (ஐடி) ஐடி மூலம் குழு

ஐடி நெடுவரிசையில் உள்ள வரிசைகள் குழுக்களாகப் பிரிக்கப்பட்டுள்ளன. ஒவ்வொரு குழுவும் நெடுவரிசையில் எத்தனை முறை தோன்றும் என்று கணக்கிடப்படுகிறது. இதன் விளைவாக வரும் அட்டவணையில், 'எண்ணிக்கை' என்ற பெயருடன் ஒரு புதிய நெடுவரிசை உருவாக்கப்பட்டது, மேலும் ஒவ்வொரு குழுவிற்கும் முன்னால் எண்ணிக்கையின் மதிப்புகள் இங்கே எழுதப்பட்டுள்ளன.

உங்கள் pgAdmin

இப்போது PostgreSQL இன் டாஷ்போர்டு பக்கத்தில் சில உதாரணங்களைப் பயன்படுத்தியுள்ளோம். இந்த எடுத்துக்காட்டுகள் ஒருவிதத்தில் வேறுபட்டவை, ஏனெனில் அவை அசல் நெடுவரிசையில் இருந்து ஒரு மொத்த வரிசையை உருவாக்குகின்றன, ஏனெனில் உருப்படிகளில் ஏதேனும் ஒன்று மற்றவற்றிலிருந்து வேறுபடும், எனவே மதிப்பு NULL ஆக வழங்கப்படும்.

முதல் உதாரணத்தைக் கவனியுங்கள்; இங்கே, இரண்டு நெடுவரிசைகளை இணைத்த “எல்லாம்” என்ற நெடுவரிசைப் பெயரை உருவாக்கியுள்ளோம். ஒரு முகவரி மற்றும் ஒரு வகை. 'எல்லாம்' நெடுவரிசை இரண்டு நெடுவரிசைகளிலும் உள்ள மதிப்புகளை கூட்டாக கணக்கிடுகிறது. முகவரி நெடுவரிசை 'சேர்' என தொகுக்கப்பட்டுள்ளது, மேலும் வகை நெடுவரிசை தனித்தனியாக 'பூனை' என தொகுக்கப்பட்டுள்ளது. பயன்படுத்தப்படும் இரண்டு அட்டவணைகளின் நெடுவரிசைப் பெயர்கள் ஒன்றுடன் ஒன்று பொருத்தப்படலாம். எனவே அந்தந்த அட்டவணையின் ஒவ்வொரு நெடுவரிசையும் ஒரு குறிப்பிட்ட பொருளால் அணுகப்படுகிறது.

கட்டளையில் பயன்படுத்தப்படும் நிபந்தனை ஐடி மற்றும் ஆர்டர் எண்ணைப் பொறுத்தது. இந்த இரண்டு ஐடி மற்றும் ஆர்டர் எண்களும் ஒரே மாதிரியாக இருந்தால், தரவு எடுக்கப்படும். இதேபோல், பெயருக்கு கூடுதல் நிபந்தனையும் சேர்க்கப்பட்டுள்ளது.

>> o.முகவரி, வகை, எண்ணை (*) 'அனைத்தும்', குழு (o.முகவரி) 'சேர்' , GROUPING (வகை ) 'cat' என உருப்படிகள் I, ஆர்டர்கள் o எங்கே i.order_no = o. order_id மற்றும் i.address= கியூப் மூலம் 'லாகூர்' குழு (o.முகவரி, வகை) ஆர்டர் 1, 2;

லாகூர் நகரத்திற்கு, ஒரு பிரிவு தேர்ந்தெடுக்கப்பட்டது. 4 சாத்தியங்கள் உள்ளன. சில நேரங்களில், பொம்மை உள்ளது ஆனால் முகவரி இல்லை. மற்றும் நேர்மாறாகவும். ஆனால் வகை மற்றும் முகவரி இரண்டும் இருக்கும் ஒரு காலம் உள்ளது.

இப்போது, ​​ஒரு அட்டவணையில் இருந்து பெயரின் நிலையை மாற்றி, மற்றொன்றுடன் அட்டவணையை மாற்றினால். 'Items.address' என்பது 'order.address' ஆல் மாற்றப்பட்டது, பின்னர் முடிவு வேறுபட்டது.

முடிவுரை

'Postgresql group by' என்ற உட்பிரிவு கூட்டுத் தரவுகளுக்கு எந்த ஒரு மொத்த ஆபரேட்டரையும் பயன்படுத்த பயன்படுகிறது. இந்தக் கட்டுரை எண்ணிக்கையின் செயல்பாடு, இணைத்தல் மற்றும் பல நெடுவரிசைகளின் தேர்வு மற்றும் குழுவாக்கம் ஆகியவற்றுடன் பிரிவு வாரியாகப் பயன்படுத்துகிறது. இந்த டுடோரியல் வாசகர்களுக்கு சிறந்த புரிதலுக்கான வழிமுறையாக இருக்கும் என்று நான் நம்புகிறேன்.