தொகுதி பாடங்கள் (1/4)
அறிமுகம் மற்றும் ஓவர் விதி
அறிமுகம் மற்றும் ஓவர் பிரிவு
முந்தைய பாடங்களில் தரவை ஒருங்கிணைக்க GROUP BY ஐ எவ்வாறு பயன்படுத்துவது என்று பார்த்தோம். இருப்பினும், GROUP BY ஒரு பெரிய வரம்பைக் கொண்டுள்ளது: இது வரிசைகளைச் சுருக்குகிறது. நீங்கள் நகரத்தின் அடிப்படையில் குழுவாக இருந்தால், ஒரு நகரத்திற்கு ஒரு வரிசையைப் பெறுவீர்கள் மற்றும் தனிப்பட்ட வாடிக்கையாளர்களின் விவரங்களை இழக்கிறீர்கள்.
இங்குதான் விண்டோ செயல்பாடுகள் செயல்படுகின்றன. அசல் வரிசைகளை வைத்து, மொத்த கணக்கீடுகளை (தொகைகள் அல்லது சராசரிகள் போன்றவை) இயக்க அவை உங்களை அனுமதிக்கின்றன.
ஓவர்() விதி
மேஜிக் திறவுச்சொல் OVER() ஆகும். மொத்தச் செயல்பாடு (எ.கா. SUM, AVG, COUNT) ஒரு சாளரச் செயல்பாடாகக் கருதப்பட வேண்டும், முழு முடிவுத் தொகுப்பிலும் (உலகளாவிய "சாளரம்") கணக்கிடப்பட வேண்டும் என்று தரவுத்தளத்தில் கூறுகிறது, ஆனால் ஒவ்வொரு வரிசையிலும் பயன்படுத்தப்பட்டு திரும்பும்.
SELECT
order_id,
total_amount,
AVG(total_amount) OVER() AS global_average
FROM orders;இந்த எடுத்துக்காட்டில், நாங்கள் ஒவ்வொரு தனிப்பட்ட ஆர்டரையும் வைத்திருக்கிறோம், ஆனால் ஒவ்வொரு வரிசையிலும் சராசரியாக global_average நெடுவரிசை உள்ளது. எடுத்துக்காட்டாக, ஒரு ஆர்டர் சராசரியிலிருந்து எவ்வளவு விலகுகிறது என்பதை அளவிடுவது மிகவும் பயனுள்ளதாக இருக்கும்!
'தயாரிப்புகள்' அட்டவணையில் இருந்து 'விலை' நெடுவரிசையைத் தேர்ந்தெடுக்கவும். முழு அட்டவணையிலும் சாளர செயல்பாடு மூலம் கணக்கிடப்பட்ட அதிகபட்ச விலையைக் கொண்ட 'global_max_price' என்ற நெடுவரிசையைச் சேர்க்கவும்.
குறிப்பைக் காட்டு
OVER() உடன் இணைந்து MAX(விலை) பயன்படுத்தவும்.
3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்
'ஐடி', 'விலை' ஆகியவற்றை பிரித்தெடுத்து, 'தயாரிப்புகள்' அட்டவணையில் இருந்து ஒட்டுமொத்த சராசரி விலையை ('global_avg') சேர்க்கவும்.
குறிப்பைக் காட்டு
AVG(விலை) OVER()ஐச் சேர்த்தால் போதும்.
3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்