عد المجموعات المميزة في أعمدة متعددة في SQL

D Almjmw At Almmyzt Fy A Mdt Mt Ddt Fy Sql



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

ولكن ماذا يحدث عندما تريد التأكد من أن القيم من عدة أعمدة فريدة ولا توجد تكرارات؟







في هذا البرنامج التعليمي ، سنتعلم كيفية استخدام ميزات SQL لتحديد عمودين أو أكثر والتأكد من تمييز قيمهما.



مشكلة:

لنفترض أن لدينا جدولًا به عدة أعمدة ونريد حساب عدد مجموعات القيم المميزة عبر هذه الأعمدة.



على سبيل المثال ، دعنا نأخذ في الاعتبار جدول بيانات المبيعات مع أعمدة customer_id و product_id والتاريخ. نريد حساب عدد المجموعات الفريدة لكل من customer_id و product_id.





عد المجموعات المميزة في أعمدة متعددة في SQL

يمكننا حساب عدد المجموعات المميزة عبر أعمدة متعددة باستخدام جملة COUNT DISTINCT ووظيفة CONCAT في SQL.

تسمح لنا وظيفة CONCAT بدمج قيمتين أو أكثر في قيمة واحدة يمكننا استخدامها بعد ذلك للمقارنة والعد.



يمكننا توضيح ذلك بشكل أفضل باستخدام الصيغة التالية:

حدد العد ( CONCAT المميز ( العمود 1 ، العمود 2 ) )
من table_name ؛


في هذه الحالة ، يشير العمود 1 والعمود 2 إلى الأعمدة التي نرغب في ربطها أثناء العد ويشير اسم_الجدول إلى اسم الجدول الهدف.

دعونا نأخذ عينة من الجدول:

إنشاء مبيعات الجدول (
بطاقة تعريف المفتاح الأساسي الداخلي ،
customer_id INT ،
product_id INT ،
تاريخ تاريخ
) ؛

أدخل قيم المبيعات
( 1 و 100 و 1 و '2023-05-01' ) و
( 2 و 101 و 1 و '2023-05-02' ) و
( 3 و 100 و 2 و '2023-05-02' ) و
( 4 و 102 و 3 و '2023-05-03' ) و
( 5 و 101 و 2 و '2023-05-03' ) و
( 6 و 103 و 2 و '2023-05-04' ) و
( 7 و 100 و 3 و '2023-05-04' ) و
( 8 و 102 و 1 و '2023-05-05' ) و
( 9 و 101 و 3 و '2023-05-05' ) و
( 10 و 103 و 1 و '2023-05-06' ) ؛


الجدول الناتج:


لتحديد عدد التركيبات الفريدة لأعمدة customer_id و product_id من الجدول السابق ، يمكننا استخدام الاستعلام على النحو التالي:

حدد العد ( CONCAT المميز ( هوية الزبون، '-' ، معرف المنتج ) ) مثل نتيجة
من المبيعات


في الاستعلام السابق ، استخدمنا الجملة المميزة ووظيفة concat لربط قيم معرِّف العميل ومعرِّف_المنتج بواصلة. يجب أن يؤدي هذا إلى إنشاء قيمة واحدة لكل مجموعة كما هو موضح في ما يلي:


من هنا ، يمكننا استخدام دالة العد لحساب المجموعات الفريدة من الجدول الناتج.

خاتمة

نأمل أن يكون هذا البرنامج التعليمي قد ساعدك. في هذا المنشور ، اكتشفت كيفية دمج الجملة المميزة ووظيفة concat () وعبارة العد لتحديد القيم الفريدة من أعمدة جدول SQL المتعددة.