মাইএসকিউএল: GROUP_CONCAT মানগুলি বাছাই করুন


182

সংক্ষেপে: একটি GROUP_CONCAT বিবৃতিতে মানগুলি বাছাই করার কোনও উপায় আছে কি?

প্রশ্ন:

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

আমি এই সারিটি পেয়েছি:

কারুশিল্প »যোগদান

প্রশাসন »সংস্থা

আমি এটি এর মতো চাই:

প্রশাসন »সংস্থা

কারুশিল্প »যোগদান


উত্তর:


388

অবশ্যই, দেখুন http://dev.mysql.com/doc/refman/...tions.html#function_group-concat :

SELECT student_name,
  GROUP_CONCAT(DISTINCT test_score ORDER BY test_score DESC SEPARATOR ' ')
  FROM student
  GROUP BY student_name;

আপনার কোডটি আপনার নির্দিষ্ট উত্তরের জন্য খুব বেশি নির্ভরশীল, এবং তাই আপনার মূল পোস্ট ছাড়া আর কোথাও স্থাপন করা উচিত নয়। আপনি যদি এই মন্তব্যে এটি এখানে রাখেন তবে এখানে অনেক প্রোগ্রামার এটি দেখতে পাবেন না এবং আপনি সর্বোত্তম সম্ভাব্য প্রতিক্রিয়া পাবেন না :)
সাম্পসন

দুঃখের হলেও সত্য. :) এই কোডটি কি যথেষ্ট বা আমার পুরো কোয়েরিটি লেখা উচিত?
আইভর

আপনি DESC এর পরিবর্তে ASC চেষ্টা করেছিলেন?
সাম্পসন

আমি তাদের কোনওটিই ব্যবহার করিনি (এএসসি = ডিফল্ট)।
ইভার

10
আমি জানি না আপনি এই সঠিক মুহুর্তের order byমধ্যেই এক group_concatমুহুর্তের মধ্যে পারবেন could আমার যে সমস্যা ছিল তা সমাধান করে। ধন্যবাদ!
ডিমনো

22

আপনি কি অর্ডার করতে চান?

SELECT _key,            
COUNT(*) as cnt,            
GROUP_CONCAT(_value ORDER BY _value SEPARATOR ', ') as value_list      
FROM group_concat_test      
GROUP BY _key      
ORDER BY _key;
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.