mysql - شرح - w3school sql editor



كيفية تحسين هذا في الخلية؟ (1)

هذا ما عليك فعله:

select gender,
       count(case when age between 0 and 20 then 1 else null end) Age_0_20,
       count(case when age between 21 and 40 then 1 else null end) Age_21_40
from yourtable
group by gender

ضبط وفقا لذلك :)

تحديث، مع التوضيحات

لاحظ أن COUNT الدالة المجمعة تحسب القيم غير الفارغة فقط. وبالتالي، يجب أن تكون القيم else في case NULL . قيمة When ترجع 1 ولكن يمكن أن يكون مجرد أي قيمة غير فارغة.

بعض الناس تنفيذ هذا باستخدام SUM :

select gender,
       sum(case when age between 0 and 20 then 1 else 0 end) Age_0_20,
       sum(case when age between 21 and 40 then 1 else 0 end) Age_21_40
from yourtable
group by gender

والنتيجة ستكون على الاطلاق نفسه.

لدي هيكل الجدول كما هو مبين في الجدول الأول.

وتريد جلب كل من الذكور والإناث التهم في استعلام واحد بحيث الطلب سوف تذهب فقط لمرة واحدة على الملقم.





group-by