MySQL-এ ডোমেইন অনুযায়ী সার্চ টাইমস যোগ করে সবচেয়ে জনপ্রিয় ডোমেইন বের করতে GROUP BY এবং ORDER BY ... DESC ব্যবহার করা হয়।
টেবিল এবং ডেটা
CREATE TABLE DemoTable (
URL VARCHAR(40),
DomainName VARCHAR(20),
SearchTimes INT
);
INSERT INTO DemoTable VALUES('www.gmail.com', 'gmail.com', 4);
INSERT INTO DemoTable VALUES('www.google.com', 'google.com', 3);
INSERT INTO DemoTable VALUES('www.gmail.com', 'gmail.com', 9);
INSERT INTO DemoTable VALUES('www.facebook.com', 'facebook.com', 8);
INSERT INTO DemoTable VALUES('www.facebook.com', 'facebook.com', 2);
কুয়েরি: ডোমেইন অনুযায়ী টোটাল সার্চ, ডেসেন্ডিং অর্ডার
SELECT
DomainName,
SUM(SearchTimes) AS TotalSearch
FROM DemoTable
GROUP BY DomainName
ORDER BY TotalSearch DESC;
ফলাফল
+--------------+-------------+
| DomainName | TotalSearch |
+--------------+-------------+
| gmail.com | 13 |
| facebook.com | 10 |
| google.com | 3 |
+--------------+-------------+
ব্যাখ্যা
GROUP BY DomainName— একই ডোমেইনের রোগুলো গ্রুপ করেSUM(SearchTimes)— প্রতিটি গ্রুপের সার্চ টাইমস যোগফলORDER BY TotalSearch DESC— সর্বোচ্চ সার্চ ভলিউম উপরে
এক্সটেনশন: টপ N ডোমেইন
SELECT DomainName, SUM(SearchTimes) AS TotalSearch
FROM DemoTable
GROUP BY DomainName
ORDER BY TotalSearch DESC
LIMIT 10;
পারফরম্যান্স টিপ
DomainName কলামে ইন্ডেক্স রাখলে গ্রুপিং ফাস্ট হবে:
CREATE INDEX idx_domain ON DemoTable(DomainName);