MySQL COUNT ක්‍රියාවලිය පැහැදිලි කිරීම: සින්ටැක්ස්, DISTINCT, WHERE, GROUP BY, සහ ප්‍රායෝගික උදාහරණ

目次

1. MySQL COUNT ශක්තියේ දළ විශ්ලේෂණය

MySQL හි, COUNT ශක්තිය යනු විශේෂිත වර්ගයක හෝ තත්ත්වයක ගැලපෙන වාර්තා සංඛ්‍යාව ලබා ගැනීම සඳහා ඉතා උපකාරී මෙවලමකි. මෙම ශක්තිය භාවිතා කිරීමෙන්, ඔබට දත්ත සමුදාය තුළ විශේෂිත වාර්තා ගණනය කිරීමට පහසුවෙන් හැකිය. උදාහරණයක් ලෙස, ඔබට සියලුම වාර්තා ගණනය කළ හැකි අතර, විශේෂිත තත්ත්ව මත පදනම්ව වාර්තා සංඛ්‍යාව ගණනය කළ හැකිය.

COUNT() ශක්තියේ මූලික ව්‍යාකරණය

COUNT ශක්තියේ මූලික භාවිතය පහත පරිදිය:

SELECT COUNT(*) FROM table_name;

මෙම විමසුම විශේෂිත වගුවේ සියලුම වාර්තා ගණනය කරයි. ඔබට විශේෂිත වර්ගයක වටිනාකම් සංඛ්‍යාව ගණනය කිරීමට අවශ්‍ය නම්, විමසුම පහත පරිදි ලියන්න:

SELECT COUNT(column_name) FROM table_name;

මෙම අවස්ථාවේදී, විශේෂිත වර්ගය NULL වටිනාකම් අඩංගු වුවහොත්, ඒ NULL වටිනාකම් නොසලකා හරිනු ලැබෙනු ඇති අතර ගණනය නොකෙරේ.

NULL වටිනාකම් නොසලකා හරින උදාහරණය

උදාහරණයක් ලෙස, පරිශීලක වයස් ගබඩා කරන age වර්ගය NULL වටිනාකම් අඩංගු නම්, පහත විමසුම භාවිතා කරමින් NULL වටිනාකම් ගණනයෙන් බැහැර කළ හැකිය:

SELECT COUNT(age) FROM users WHERE age IS NOT NULL;

මෙම විමසුම NULL නොවන age වටිනාකම් පමණක් ගණනය කරයි.

2. DISTINCT සමඟ COUNT ඒකාබද්ධ කිරීම

දත්ත සමුදායන්හි, එකම වටිනාකම නිතර සඳහා සඳහා ගබඩා කර ඇත. එවැනි අවස්ථාවන්හිදී, ඔබට අනන්‍ය, අනුපිටින නොවන වටිනාකම් සංඛ්‍යාව ලබා ගැනීමට DISTINCT සමඟ COUNT ශක්තිය භාවිතා කළ හැකිය. DISTINCT මූල පදය ගණනය කිරීමට පෙර ප්‍රතිඵල සෙට් එකෙන් අනුපිටින පේළි ඉවත් කරයි.

DISTINCT සමඟ COUNT භාවිතා කිරීමේ උදාහරණය

පහත විමසුම name වර්ගයේ අනුපිටින ඉවත් කරමින් අනන්‍ය නම්වල සංඛ්‍යාව ගණනය කරයි:

SELECT COUNT(DISTINCT name) FROM users;

උදාහරණයක් ලෙස, users වගුවේ “taro” නම් බහුවිධ වතාවක් පෙනී සිටියද, එය එක් වරක් පමණක් ගණනය කෙරේ.

3. WHERE කොටස සමඟ තත්ත්ව සම්බන්ධ ගණනය

COUNT ශක්තිය විශේෂිත තත්ත්වවලට ගැලපෙන වාර්තා පමණක් ගණනය කිරීමට WHERE කොටස සමඟ ඒකාබද්ධ කළ හැකිය. මෙය දත්ත සමුදාය තුළ නිශ්චිත මිනුම්වලට ගැලපෙන දත්ත ලබා ගැනීමට ඔබට ඉතා උපකාරී වේ.

තත්ත්ව සමඟ ගණනය කිරීමේ උදාහරණය

පහත විමසුම වයස 25 හෝ ඊට වැඩි පරිශීලක සංඛ්‍යාව ගණනය කරයි:

SELECT COUNT(*) FROM users WHERE age >= 25;

මෙම විමසුම users වගුවේ age වර්ගය 25 හෝ ඊට වැඩි පේළි සංඛ්‍යාව ආපසු ලබා දෙයි.

COUNT ශක්තියේ උසස් භාවිතය

ඔබට බහුවිධ තත්ත්ව භාවිතා කරමින් වාර්තා ගණනය කළ හැකිය. උදාහරණයක් ලෙස, age 25 හෝ ඊට වැඩි සහ gender ‘Male’ නම් පරිශීලක ගණනය කිරීමට අවශ්‍ය නම්, විමසුම පහත පරිදි ලියන්න:

SELECT COUNT(*) FROM users WHERE age >= 25 AND gender = 'Male';

මෙම විමසුම බහුවිධ විශේෂිත තත්ත්ව සපුරාලන දත්ත ගණනය කරයි.

4. GROUP BY සමඟ දත්ත කණ්ඩායම් කිරීම සහ ගණනය

GROUP BY කොටස භාවිතා කිරීමෙන්, ඔබට විශේෂිත ක්ෂේත්‍රයකින් දත්ත කණ්ඩායම් කළ හැකි අතර, එක් එක් කණ්ඩායම සඳහා ගණනයක් සිදු කළ හැකිය. මෙය උදාහරණයක් ලෙස, එක් එක් දෙපාර්තමේන්තුවේ සේවක සංඛ්‍යාව ගණනය කිරීමට ඉතා උපකාරී වේ.

GROUP BY සමඟ COUNT භාවිතා කිරීමේ උදාහරණය

පහත විමසුම එක් එක් දෙපාර්තමේන්තුවේ සේවක සංඛ්‍යාව ගණනය කරයි:

SELECT department, COUNT(*) FROM employees GROUP BY department;

මෙම විමසුමේ ප්‍රතිඵලය ලෙස, එක් එක් දෙපාර්තමේන්තුව සඳහා සේවක සංඛ්‍යාව ආපසු ලබා දෙයි. GROUP BY කොටස department වර්ගයෙන් දත්ත කණ්ඩායම් කරයි, සහ එක් එක් කණ්ඩායමේ පේළි සංඛ්‍යාව ගණනය කෙරේ.

5. IF ප්‍රකාශන සමඟ තත්ත්ව සම්බන්ධ ගණනය

COUNT ශක්තිය IF ප්‍රකාශන සමඟ ඒකාබද්ධ කළ හැකි අතර, වඩාත් උසස් තත්ත්ව යෙදීමට හැකිය. උදාහරණයක් ලෙස, විශේෂිත තත්ත්ව මත පදනම්ව විවිධ ගණනය තර්කයක් යෙදීමට අවශ්‍ය නම්, IF ප්‍රකාශනයක් භාවිතා කරමින් ගණනය මිනුම් පාලනය කළ හැකිය.

IF ප්‍රකාශනයක් සමඟ ගණනය කිරීමේ උදාහරණය

පහත විමසුම වැටුප 50,000 ඉක්මවන සේවක සංඛ්‍යාව ගණනය කරයි:

SELECT COUNT(IF(salary > 50000, 1, NULL)) FROM employees;

මෙම විමසුම 50,000 ට වැඩි salary ඇති පේළි පමණක් ගණනට ගනී. IF ප්‍රකාශය තත්ත්වය සපුරාලේ නම් 1ක් ලබා දේ, නැතිනම් NULL ලබා දේ.

6. COUNT ක්‍රියාකාරකමේ ප්‍රායෝගික භාවිතා

COUNT ක්‍රියාකාරකම දෛනික දත්ත ගබඩා කළමනාකරණ කාර්යයන්හි ඉතා ප්‍රයෝජනවත් වේ. උදාහරණයක් ලෙස, ලියාපදිංචි පරිශීලකයන් ගණන කිරීම හෝ විකුණුම් ගනුදෙනු ගණන කිරීම මඟින් දත්ත අඛණ්ඩතාව රැක ගැනීමට සාමාන්‍යයෙන් භාවිතා කරයි.

ප්‍රායෝගික උදාහරණය 1: ලියාපදිංචි පරිශීලකයන් ගණන කිරීම

වෙබ් අඩවි පරිපාලකයෙකුට ලියාපදිංචි පරිශීලකයන්ගේ සංඛ්‍යාව දැන ගැනීමට අවශ්‍ය වේ. ඒ සඳහා පහත විමසුම භාවිතා කරයි:

SELECT COUNT(*) FROM users;

මෙම විමසුම users වගුවේ සියලු රෙකෝඩ් ගණන කරමින්, වත්මන් ලියාපදිංචි පරිශීලකයන්ගේ සංඛ්‍යාව ලබා දේ.

ප්‍රායෝගික උදාහරණය 2: විකුණුම් දත්ත ගණන කිරීම

විකුණුම් දත්ත කළමනාකරණය සඳහා, නියමිත නිෂ්පාදනය කී වරක් විකුණා ඇතිදැයි ගණන කිරීමට, පහත විමසුම භාවිතා කරන්න:

SELECT COUNT(*) FROM sales WHERE product_id = 123;

මෙම විමසුම product_id 123 වන විකුණුම් රෙකෝඩ් ගණන කරයි.

7. COUNT ක්‍රියාකාරකම භාවිතා කිරීමේ ගැටළු නිරාකරණය

COUNT ක්‍රියාකාරකම භාවිතා කරන විට, විශේෂයෙන් NULL අගයන් හෝ පිටපත් දත්ත සැකසීමේදී ගැටළු ඇති විය හැක. එවැනි ගැටළු වැළැක්වීමට, පොදු විසඳුම් කිහිපයක් අවබෝධ කර ගැනීම වැදගත් වේ.

NULL දත්ත සම්බන්ධ ගැටළු සහ ඒවායේ විසඳුම්

COUNT(column_name) භාවිතා කරන විට, NULL අගයන් ගණනය නොවේ. සියලු රෙකෝඩ් ගණන කිරීමට අවශ්‍ය නම්, COUNT(*) භාවිතා කිරීම සුදුසුය. NULL අගයන් අඩංගු විය හැකි තීරුවක් ගණන කිරීමට අවශ්‍ය නම්, පහත පරිදි IS NOT NULL කොන්දේසිය එක් කරන්න:

SELECT COUNT(column_name) FROM table_name WHERE column_name IS NOT NULL;