MySQL-এ DATETIME কলাম থেকে শুধু ভিন্ন তারিখ (ইগনোর করে টাইম) বের করতে DISTINCT সাথে DATE() বা YEAR(), MONTH() ব্যবহার করুন।
টেবিল ও ডেটা
CREATE TABLE PostMesssageDemo (
UserId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
UserMessage VARCHAR(100),
UserPost DATETIME
);
INSERT INTO PostMesssageDemo (UserMessage, UserPost) VALUES
('Software Developer', NOW()),
('Software Developer', DATE_ADD(NOW(), INTERVAL 3 MONTH)),
('Software Developer', NOW()),
('Software Developer', '2019-03-31 17:30:34');
কোয়েরি: ভিন্ন বছর-মাস কম্বিনেশন
SELECT DISTINCT YEAR(UserPost), MONTH(UserPost) FROM PostMesssageDemo;
আউটপুট
+----------------+-----------------+ | YEAR(UserPost) | MONTH(UserPost) | +----------------+-----------------+ | 2019 | 2 | | 2019 | 5 | | 2019 | 3 | +----------------+-----------------+
শুধু ডেট (DATE portion) distinct
SELECT DISTINCT DATE(UserPost) FROM PostMesssageDemo;
গ্রুপ বাই দিয়ে কাউন্ট
SELECT DATE(UserPost) AS PostDate, COUNT(*) AS PostCount FROM PostMesssageDemo GROUP BY DATE(UserPost) ORDER BY PostDate;
টিপ: বড় টেবিলে DATE() ফাংশন ইন্ডেক্স ব্লক করে। কম্পোজিট ইন্ডেক্স (UserPost) বা জেনারেটেড কলাম ব্যবহার করুন।