আমি নিম্নলিখিত প্রশ্নের মধ্যে সাবকোয়ারি থেকে 2 টি কলাম নির্বাচন করার চেষ্টা করছি, তবে তা করতে অক্ষম। ওরফে টেবিল তৈরি করার চেষ্টা করা হয়েছিল, কিন্তু এখনও সেগুলি পাওয়া যায়নি।
SELECT
DISTINCT petid,
userid,
(SELECT MAX(comDate) FROM comments WHERE petid=pet.id) AS lastComDate,
(SELECT userid FROM comments WHERE petid=pet.id ORDER BY id DESC LIMIT 1) AS lastPosterID
FROM
pet LEFT JOIN comments ON pet.id = comments.petid
WHERE
userid='ABC' AND
deviceID!='ABC' AND
comDate>=DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 2 MONTH);
মূলত, আমি একই সারি থেকে lastComDate
& lastPosterID
সারিটি পেতে চেষ্টা করছি - যে সারিটি নির্দিষ্ট পোষা প্রাণীর জন্য মন্তব্যে সর্বশেষতম। দয়া করে পরামর্শ দিন কীভাবে আমি সেগুলি দক্ষ উপায়ে পেতে পারি।
উপরের ক্যোয়ারীটি কাজ করে তবে একই সারিতে দু'বার আনা হওয়ায় ওভারকিল মনে হয়। তদ্ব্যতীত, ORDER BY
ক্লজটি সামগ্রিক ফাংশনটির তুলনায় উল্লেখযোগ্যভাবে ধীর - যেমনটি কোয়েরি প্রোফাইল করার সময় আমি পেয়েছি। সুতরাং, বাছাই এড়ানো একটি সমাধান প্রশংসা করা হবে।
deviceID
থেকে pets
টেবিল - যার অর্থ শুধু আমার পোষ্য যা 'এবিসি' নিজে দ্বারা জমা দেওয়া হয় না।