সবচেয়ে বেশি বার আসা মান খুঁজে বের করতে COUNT() এবং GROUP BY ব্যবহার করুন। প্রথমে একটি টেবিল তৈরি করি:
mysql> CREATE TABLE DemoTable (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Value INT
);
রেকর্ড যোগ করি:
mysql> INSERT INTO DemoTable(Value) VALUES(976), (67), (67), (1), (90), (1), (67), (976), (90), (1), (10);
সকল রেকর্ড দেখতে:
mysql> SELECT * FROM DemoTable;
আউটপুট:
+----+-------+ | Id | Value | +----+-------+ | 1 | 976 | | 2 | 67 | | 3 | 67 | | 4 | 1 | | 5 | 90 | | 6 | 1 | | 7 | 67 | | 8 | 976 | | 9 | 90 | | 10 | 1 | | 11 | 10 | +----+-------+
মান অনুযায়ী গ্রুপ করে ফ্রিকোয়েন্সি গণনা এবং ডিসেন্ডিং ক্রমে সাজানো:
mysql> SELECT Value, COUNT(Value) AS ValueFrequency FROM DemoTable GROUP BY Value ORDER BY ValueFrequency DESC;
আউটপুট:
+-------+----------------+ | Value | ValueFrequency | +-------+----------------+ | 67 | 3 | | 1 | 3 | | 90 | 2 | | 976 | 2 | | 10 | 1 | +-------+----------------+
ব্যাখ্যা: ৬৭ এবং ১ — দুটোই ৩ বার এসে সবচেয়ে বেশি। ORDER BY ValueFrequency DESC দিয়ে সবচেয়ে বেশি ফ্রিকোয়েন্সি ওপরে এসেছে।
শুধু টপ ১ পেতে: LIMIT 1 যোগ করুন। টাই ব্রেকের জন্য ORDER BY ValueFrequency DESC, Value ব্যবহার করুন।