MySQL-এ COUNT(DISTINCT column) ব্যবহার করে ইউনিক মান গণনা
MySQL-এ COUNT(DISTINCT column_name) ব্যবহার করে কোনো কলামে কতগুলো ইউনিক (অনন্য) মান আছে তা সরাসরি গণনা করা যায়। এটি BIGINT, VARCHAR, DATE — যেকোনো টাইপের কলামে কাজ করে।
উদাহরণ
টেবিল তৈরি (ফোন নম্বর BIGINT-এ):
CREATE TABLE DemoTable (PhoneNumber BIGINT);
INSERT INTO DemoTable VALUES
(8567789898), (8567789898), (9876564534), (9087896545),
(7656456589), (9876564534), (9087896545);
ইউনিক ফোন নম্বর গণনা
SELECT COUNT(DISTINCT PhoneNumber) AS UniquePhoneNumber FROM DemoTable;
আউটপুট:
+-------------------+
| UniquePhoneNumber |
+-------------------+
| 4 |
+-------------------+
ব্যাখ্যা
- মোট ৭টি রো, কিন্তু ৪টি ইউনিক নম্বর: 8567789898, 9876564534, 9087896545, 7656456589।
DISTINCTডুপ্লিকেট সরিয়ে দেয়,COUNT()বাকিগুলো গণনা করে।
পারফরম্যান্স টিপ
PhoneNumberকলামে ইন্ডেক্স থাকলেCOUNT(DISTINCT ...)দ্রুত হয় (ইন্ডেক্স-ওনলি স্ক্যান)।- বড় টেবিলে
APPROX_COUNT_DISTINCT()(MySQL 8.0.11+) অনুমানিক গণনা দিয়ে খুব দ্রুত ফলাফল দেয়।
বিকল্প: SELECT COUNT(*) FROM (SELECT DISTINCT PhoneNumber FROM DemoTable) AS t; — পুরনো ভার্সনে কাজ করে।