GROUP BY A.*
এসকিউএল অনুমোদিত নয়।
আপনি এমন একটি সাবকিউরি ব্যবহার করে বাইপাস করতে পারেন যেখানে আপনি গ্রুপ করেছেন এবং তারপরে যোগদান করুন:
SELECT A.*, COALESCE(B.cnt, 0) AS Count_B_Foo
FROM TABLE1 AS A
LEFT JOIN
( SELECT FKey, COUNT(foo) AS cnt
FROM TABLE2
GROUP BY FKey
) AS B
ON A.PKey = B.FKey ;
এসকিউএল -2003 স্ট্যান্ডার্ডের SELECT
তালিকায় অনুমতি দেওয়ার জন্য একটি বৈশিষ্ট্য রয়েছে , কলামগুলি GROUP BY
তালিকায় নেই যতক্ষণ না তারা কার্যত তাদের উপর নির্ভরশীল থাকে। যদি সেই বৈশিষ্ট্যটি এসকিউএল-সার্ভারে প্রয়োগ করা হত তবে আপনার ক্যোয়ারীটি এমনভাবে লেখা যেতে পারে:
SELECT A.*, COUNT(B.foo)
FROM TABLE1 A
LEFT JOIN TABLE2 B ON A.PKey = B.FKey
GROUP BY A.pk --- the Primary Key of table A
দুর্ভাগ্যক্রমে, এই বৈশিষ্ট্যটি এখনও কার্যকর করা হয়নি, এমনকি এসকিউএল-সার্ভার 2012 সংস্করণেও নয় - এবং আমি জানি অন্য কোনও ডিবিএমএসেও নয়। মাইএসকিউএল ব্যতীত যার এটি রয়েছে তবে অপর্যাপ্তভাবে (অপ্রতুলভাবে হিসাবে: উপরের ক্যোয়ারীটি কাজ করবে তবে ইঞ্জিন কার্যকরী নির্ভরতার জন্য কোনও চেক করবে না এবং অন্যান্য খারাপ লিখিত প্রশ্নগুলি ভুল, আধা-এলোমেলো ফলাফল প্রদর্শন করবে)।
@ মার্ক বাইয়ার্স যখন আমাদের একটি মন্তব্যে জানিয়েছিল, পোস্টগ্র্যাস এসকিউএল 9.1 এই উদ্দেশ্যে ডিজাইন করা একটি নতুন বৈশিষ্ট্য যুক্ত করেছে। এটি মাইএসকিউএল বাস্তবায়নের চেয়ে আরও বাধাজনক।
GROUP BY
দফাSELECT
তালিকা, কিন্তু তা যা সারি হিসেবে undefined যে মান থেকে (তাই যদি কলাম বা অভিব্যক্তি আসবে ছেড়ে আইএসএন 'টি বৈশিষ্ট্যগুলি গোষ্ঠীবদ্ধ অভিব্যক্তি উপর নির্ভরশীল, তাহলে এটি হতে পারে দলের মধ্যে কোনো সারি থেকে আসা)।