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

 

 

Mysql-ல் உள்ள ஒருசில grouping functions-ஐப் பின்வருமாறு காணலாம்.

5.1 Group functions

Query-43

 

ஒரு் column-ல் உள்ள மதிப்புகளில் MIN() என்பது மிகச்சிறிய மதிப்பிணையும், MAX() என்பது மிகப்பெரிய மதிப்பிணையும், SUM() என்பது அனைத்து மதிப்புகளின் கூட்டுத் தொகையையும், AVG() என்பது அதன் சராசரி மதிப்யையும் வெளிப்படுத்துகிறது. இவை பின்வருமாறு.

select min(salary),max(salary) from employees;

select sum(salary),avg(salary) from employees;

Query-44

 

மேற்கூறிய அதே functions-ஐ date மற்றும் characters-ன் மீதும் செலுத்தலாம். இது பின்வருமாறு.

Query-45

 

COUNT() என்பது அதற்குள் * ஐப் பெற்றிருப்பின் அந்த table-ல் உள்ள rows-ன் எண்ணிக்கையையும், அதற்குள் ஏதேனும் ஒரு் column- ஐப் பெற்றிருப்பின் null மதிப்பிணைத் தவிர்த்துவிட்டு அந்த column பெற்றுள்ள rows-ன் எண்ணிக்கையையும் வெளிப்படுத்தும்.

 

5.2 Grouping rows

Query-46

 

GROUP BY என்பது group functions-ஐப் பயன்படுத்தும் queries-ல் மட்டுமே காணப்படும். அதாவது SELECT list-ல் காணப்படும் group functions தவிர மற்ற அனைத்து columns-ம் GROUP BY-ஐத் தொடர்ந்து எழுதப்பட வேண்டும். உதாரணத்துக்கு ஒரு் நிறுவனத்தின் ஒவ்வொரு department-லும் ஒருவர் வாங்கும் அதிக பட்ச சம்பளத்தைத் தெரிந்துகொள்ள, SELECT-ல் department, max(salary) என எழுதிவிட்டு பின்னர் GROUP BY-ஐத் தொடர்ந்து department எனக் குறிப்பிட வேண்டும். அப்போதுதான் அதிகபட்ச சம்பளம் ஒவ்வொரு department-க்கும் ஒருங்கிணைக்கப்பட்டு வெளிப்படுத்தப்படும்.

select department,max(salary) from organisation group by department;

 

Query-47

 

group functions-ஐ நாம் order by-ல் கொடுத்து, தகவல்களை ஏறுவரிசையிலோ அல்லது இறங்குவரிசையிலோ முறைப்படுத்திப் பார்க்கவும் முடியும்.

select department,max(salary) from organisation group by department order by max(salary);

 

Query-48

 

group functions-ஐ நாம் condition-ல் கொடுத்து, அதனடிப்படையில் நாம் தகவல்களைப் பெறவும் முடியும். பொதுவாக WHERE-ஐத் தொடர்ந்து conditions-ஐக் குறிப்பிடுவோம் அல்லவா? ஆனால் group functions-ஐ condition-ஆகப் பயன்படுத்தும் போது மட்டும் WHERE-க்கு பதிலாக HAVING எனக் கொடுக்க வேண்டும்.

select department,min(salary) as sal from organisation group by department having sal>8500;

License

Icon for the Creative Commons Attribution-ShareAlike 4.0 International License

எளிய தமிழில் MySQL – பாகம் 2 Copyright © 2015 by து.நித்யா is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License, except where otherwise noted.

Share This Book