كيفية صياغة طريقة عرض فهرسة SQL Server التي تجمع القيم المتميزة؟

StackOverflow https://stackoverflow.com/questions/2732231

سؤال

لدي مخطط يتضمن جداول مثل ما يلي (مخطط الزائفة):

TABLE ItemCollection {
   ItemCollectionId
   ...etc...
}

TABLE Item {
   ItemId,
   ItemCollectionId,
   ContributorId

}

أحتاج إلى تجميع عدد المساهمين المتميزين لكل itemCollectionId. هذا ممكن مع استعلام مثل:

SELECT ItemCollectionId, COUNT(DISTINCT ContributorId) FROM Item
 GROUP BY ItemCollectionId

أرغب كذلك في تحرير هذا التجميع مسبقًا باستخدام طريقة عرض مفهرسة (مُجسدة). يمنع المتميز فهرس يتم وضعه على هذا الرأي. هل هناك أي طريقة لإعادة صياغة هذا الأمر الذي لن ينتهك قيود العرض المفهرسة لخادم SQL؟

هل كانت مفيدة؟

المحلول

غير ممكن ، على ما يبدو.

نصائح أخرى

SELECT
   ItemCollectionId,
   COUNT(DISTINCT ContributorId),
   COUNT_BIG(*) AS DummyColumn
FROM Item
GROUP BY ItemCollectionId

سيتطلب الإجمالي count_big (*) كما ذكر في MSDN.

هذا يقول أيضًا "لا متميز" ولست متأكدًا (لم تجربه أبدًا ، آسف) إذا كان هذا ينطبق على استخدامه في إجمالي (كما لديك) ، أو SELECT DISTINCT...

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top