PostgreSQL Crosstab தொகுதியுடன் பணிபுரிகிறது
உங்கள் தரவு எவ்வாறு குறிப்பிடப்பட வேண்டும் என்பதைக் குறிப்பிட ஒரு அறை இருப்பது எளிது. PostgreSQL உடன், தரவுகளை அட்டவணை வடிவத்தில் வைத்திருப்பது இயல்புநிலையாக இருந்தாலும், க்ராஸ்டாப் தொகுதி உங்களுக்கு மற்றொரு விருப்பத்தை வழங்குகிறது. சிறந்த விளக்கக்காட்சிக்கு PostgreSQL அட்டவணையில் இருந்து 'தேர்ந்தெடு' நெடுவரிசைகளைப் பயன்படுத்தி பிவோட் அட்டவணைகளை உருவாக்கலாம்.
அற்புதமான அம்சம் PostgreSQL பதிப்பு 8.3க்கான நீட்டிப்பாக வருகிறது. 'tablefunc' நீட்டிப்பு க்ராஸ்டாப் செயல்பாட்டை வழங்குகிறது, இது உங்கள் முடிவுகளின் தொகுப்பாக பைவட் டேபிள்களை வைத்திருப்பதை சாத்தியமாக்குகிறது. ஒரு உதாரணம் தருவோம்.
முதலில், பின்வரும் கட்டளையைப் பயன்படுத்தி மூன்று நெடுவரிசைகளுடன் 'முடிவுகள்' அட்டவணையை உருவாக்குகிறோம்:
உருவாக்கப்பட்ட அட்டவணை காலியாக உள்ளது. எனவே, மேலே சென்று, அதில் மதிப்புகளைச் சேர்க்க INSERT வினவலைப் பயன்படுத்தவும். இந்த வழக்கில், பின்வருவனவற்றில் காட்டப்பட்டுள்ளபடி சில உள்ளீடுகளைச் செருகுவோம்:
'தேர்ந்தெடு' அறிக்கையை இயக்கினால், பின்வரும் முடிவுகளைப் பெறுவோம். பதிவுகளை மீட்டெடுப்பதற்கான இந்த இயல்புநிலை வழி அவற்றை அட்டவணை வடிவத்தில் எவ்வாறு வழங்குகிறது என்பதைக் கவனியுங்கள். நெடுவரிசைகள் தலைப்புகளாகப் பயன்படுத்தப்படுகின்றன மற்றும் அவற்றின் மதிப்புகள் வரிசைகளில் தோன்றும்:
முந்தைய அணுகுமுறை பெரும்பாலான சந்தர்ப்பங்களில் வேலை செய்தாலும், அதே பதிவுகளை மீட்டெடுக்க மற்றொரு விருப்பம் உள்ளது. இந்த வழக்கில், நாங்கள் ஒரு பைவட் அட்டவணையை உருவாக்க விரும்புகிறோம். எனவே, PostgreSQL பதிப்பு 8.3+ உடன் வரும் “tablefunc” நீட்டிப்பைப் பயன்படுத்துகிறோம்.
எனவே, அதை வினவலில் அழைக்கும் போது அதை இயக்க 'tablefunc' நீட்டிப்பை உருவாக்குவோம். பின்வரும் கட்டளையை இயக்கவும்:
முந்தைய படத்தில் உள்ளதைப் போன்ற வெளியீட்டைப் பெற்றவுடன், நீட்டிப்பு வெற்றிகரமாக இயக்கப்பட்டது என்பதை நீங்கள் அறிவீர்கள்.
எங்கள் க்ராஸ்டாப் செயல்பாட்டிற்கு, முதல் நெடுவரிசை ஆசிரியர்களாக இருக்கும்படி செய்யலாம். அதன் கீழே எங்கள் அட்டவணையில் உள்ள பல்வேறு திறன்கள் உள்ளன. ஆசிரிய நெடுவரிசைக்கு அடுத்து, எங்கள் அட்டவணையின் வகை நெடுவரிசையில் வெவ்வேறு மதிப்புகளைக் குறிக்கும் பிற நெடுவரிசைகள் எங்களிடம் உள்ளன. கடைசியாக, ஒவ்வொரு பிரிவிற்கும், வெவ்வேறு பிரிவுகளை அடைந்த மாணவர்களின் எண்ணிக்கை எங்களிடம் உள்ளது.
அத்தகைய பைவட் அட்டவணையை அடைய, பின்வரும் தொடரியல் பயன்படுத்தவும்:
தேர்ந்தெடுக்கவும் * கிராஸ்டாப்பில் இருந்து ( நெடுவரிசை 1 ஐத் தேர்ந்தெடு , நெடுவரிசை2 , அட்டவணையின்_பெயரில் இருந்து நெடுவரிசை 3 அளவுகோல்களின்படி ஆர்டர் செய்யுங்கள்’ )புதிய_பெயர் ( நெடுவரிசை1 தரவு_வகை , நெடுவரிசை2 தரவு_வகை , column_n தரவு_வகை ) ;
நாங்கள் உருவாக்கிய எடுத்துக்காட்டு அட்டவணையைப் பயன்படுத்தி, எங்கள் கட்டளை பின்வருமாறு தெரிகிறது:
முடிவுகளைப் பார்ப்பதற்கு முன், க்ராஸ்டாப் தொகுதிக் கட்டளை எவ்வாறு செயல்படுகிறது என்பதைப் பற்றிப் பார்ப்போம். முதலில், SELECT அறிக்கை மூன்று நெடுவரிசைகளை வழங்குகிறது. முதல் நெடுவரிசை வரிசை அடையாளங்காட்டியாகக் கருதப்படுகிறது. எங்கள் விஷயத்தில், இது 'ஆசிரியர்' நெடுவரிசை. இரண்டாவது நெடுவரிசை, 'வகை' நெடுவரிசை, பிவோட் அட்டவணைக்கான வகைகளைக் குறிக்கிறது. கடைசியாக, மூன்றாவது நெடுவரிசையில் வகைகளுக்கான மதிப்புகள் உள்ளன. எங்கள் விஷயத்தில், இது ஒவ்வொரு பிரிவிலும் உள்ள மாணவர்களின் எண்ணிக்கை.
அதைப் புரிந்துகொண்டு, “Enter” விசையை அழுத்தியவுடன், பிவோட் அட்டவணையைப் பெறுகிறோம்:
திரும்பிய பைவட் அட்டவணையின் அடிப்படையில், இது 2-டி வரிசையைப் போல் செயல்படுவதைக் காணலாம், அங்கு SELECT அறிக்கையில் முதல் நெடுவரிசை முதல் வரிசையாகவும், பரிமாணத்தில் இரண்டாவது நெடுவரிசை இரண்டாவது வரிசையாகவும் இருக்கும். மூன்றாவது நெடுவரிசையில் இரண்டாவது வரிசை உறுப்புகளுக்கான மதிப்புகள் உள்ளன.
முடிவுரை
PostgreSQL க்ராஸ்டாப் அட்டவணை மதிப்புகளை பைவட் டேபிளாகக் குறிப்பிடுவது நல்லது. க்ராஸ்டாப் தொகுதியைப் பயன்படுத்த, உங்கள் SELECT அறிக்கையில் மூன்று நெடுவரிசைகளை வழங்க வேண்டும், மேலும் இந்த இடுகை அதை எவ்வாறு பயன்படுத்துவது என்பதற்கான நடைமுறை உதாரணத்தைப் பகிர்ந்துள்ளது. தவிர, 2-டி வரிசையின் அதே தர்க்கத்தைப் பயன்படுத்தும் பிவோட் டேபிளை உருவாக்குவதில் க்ராஸ்டாப் தொகுதி எவ்வாறு செயல்படுகிறது என்பதை விளக்கினோம்.