كيفية حساب السجلات الفريدة والحصول على عدد من هذه التفرد في الجدول باستخدام SQL؟

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

سؤال

تخيل أن لدي طاولة مثل هذا:

المعرف: المنتج: Shop_id

1: كرة السلة: 41

2: كرة القدم: 41

3: صاروخ: 45

4: السيارة: 86

5: الطائرة: 86

الآن ، هذا مثال على مركز الإنترنت الكبير ، حيث توجد متاجر تبيع لعميل واحد ، حتى يتمكن العميل من اختيار المزيد من المنتجات من كل متجر وشرائه في سلة واحدة.

ومع ذلك ، لست متأكدًا مما إذا كان هناك أي بناء جملة SQL يتيح لي ببساطة الحصول على Shop_ids فريدة من نوعها والعدد الإجمالي لمنتجات تلك المتاجر في سلة العملاء. لذلك سأحصل على شيء مثل:

يحتوي Shop 41 على منتجين

متجر 45 منتج واحد

تسوق 86 منتجين

يمكنني عمل استعلامات SQL للتغلب على الجدول لصنع نوع من ['shop_id'] ['number_of_products'] متغير من شأنه أن يخزن جميع المنتجات ، ثم "فريدة من نوعها". واحد آخر من المتاجر لبقاء بعض ما تبقى ولكن هذا يبدو أن الكثير من البرمجة النصية غير المجدية.

إذا حصلت على فكرة لطيفة وأنيقة ، من فضلك ، أخبرني.

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

المحلول

هذا هو بالضبط نوع الشيء الذي هي الوظائف الإجمالية ل. يمكنك عمل صف واحد من الإخراج لكل مجموعة من الصفوف في الجدول. قم بتجميعها بواسطة Shop_id وحساب عدد الصفوف الموجودة في كل مجموعة.

select shop_id, count(1) from TABLE_NAME
  group by shop_id
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top