কম্পিউটার টিউটোরিয়াল

MySQL-এ ডোমেইন ভিত্তিক সার্চ ভলিউম বিশ্লেষণ (GROUP BY + ORDER BY)

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);
  1. MySQL-এ কারেন্ট ডেট ও টেবিলের ডেট রেকর্ডের পার্থক্য বের করা

  2. MySQL-এ IN() অপারেটর দিয়ে একক কোয়েরিতে একাধিক রেকর্ড ডিলিট করা

  3. MySQL-এ DATE_ADD ব্যবহার করে টেবিলের তারিখ আপডেট করা (বছর যোগ/বিয়োগ)

  4. MySQL-এ URL রেকর্ডের অংশ খুঁজে বদলানো (Find & Replace)