"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيف يمكنني التحكم في ترتيب القيم في بيان MySQL GROUP_CONCAT؟

كيف يمكنني التحكم في ترتيب القيم في بيان MySQL GROUP_CONCAT؟

تم النشر بتاريخ 2024-11-15
تصفح:185

How Can I Control the Order of Values in a MySQL GROUP_CONCAT Statement?

ترتيب القيم في بيان GROUP_CONCAT

في MySQL، تجمع GROUP_CONCAT القيم من عمود واحد بناءً على مجموعة محددة. ومع ذلك، يتم عادةً تحديد ترتيب القيم المتسلسلة حسب الترتيب الذي يحدث به التجميع. للتحكم في فرز هذه القيم، مطلوب بناء جملة محدد.

لفرز القيم المتسلسلة في عبارة GROUP_CONCAT، استخدم عبارة ORDER BY داخل الاستعلام المتداخل. على سبيل المثال، خذ بعين الاعتبار الاستعلام التالي:

GROUP_CONCAT((SELECT GROUP_CONCAT(parent.name SEPARATOR " » ") 
FROM test_competence AS node, test_competence AS parent 
WHERE node.lft BETWEEN parent.lft AND parent.rgt 
  AND node.id = l.competence 
  AND parent.id != 1 
ORDER BY parent.lft) SEPARATOR "<br />\n") AS competences

لفرز قيم الكفاءة المتسلسلة بترتيب تصاعدي، قم بتعديل الاستعلام كما يلي:

GROUP_CONCAT((SELECT GROUP_CONCAT(parent.name SEPARATOR " » ") 
FROM test_competence AS node, test_competence AS parent 
WHERE node.lft BETWEEN parent.lft AND parent.rgt 
  AND node.id = l.competence 
  AND parent.id != 1 
ORDER BY parent.lft ASC) SEPARATOR "<br />\n") AS competences

وبالمثل، لفرز القيم بترتيب تنازلي، استخدم الكلمة الأساسية DESC بعد ASC:

GROUP_CONCAT((SELECT GROUP_CONCAT(parent.name SEPARATOR " » ") 
FROM test_competence AS node, test_competence AS parent 
WHERE node.lft BETWEEN parent.lft AND parent.rgt 
  AND node.id = l.competence 
  AND parent.id != 1 
ORDER BY parent.lft DESC) SEPARATOR "<br />\n") AS competences
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3