একাধিক, স্বতন্ত্র সারিগুলিকে যুক্ত করতে বিকল্প বাক্য গঠন
সতর্কতা: এই পোস্টটি আপনাকে ক্ষুধার্ত করে তুলবে।
প্রদত্ত:
আমি নিজেকে একাধিক, পৃথক সারি - একটি গ্রুপের স্থিতি - এবং একটি নির্দিষ্ট ক্ষেত্রে সম্মিলিত করতে চাইছিলাম।
ধরা যাক আপনার কাছে পণ্য আইডির একটি টেবিল রয়েছে এবং তাদের নাম এবং দাম রয়েছে:
+------------+--------------------+-------+
| product_id | name | price |
+------------+--------------------+-------+
| 13 | Double Double | 5 |
| 14 | Neapolitan Shake | 2 |
| 15 | Animal Style Fries | 3 |
| 16 | Root Beer | 2 |
| 17 | Lame T-Shirt | 15 |
+------------+--------------------+-------+
তারপরে আপনার কাছে কিছু অভিনব-স্ক্যান্সিজি এজাক্স রয়েছে যা এই কুকুরছানাগুলিকে চেকবক্স হিসাবে তালিকাভুক্ত করে।
আপনার ক্ষুধার্ত-হিপ্পো ব্যবহারকারী নির্বাচন করে 13, 15, 16
। আজ তার জন্য কোনও মিষ্টি নেই ...
অনুসন্ধান:
খাঁটি মাইএসকিএল সহ আপনার ব্যবহারকারীর ক্রমকে এক লাইনে সংক্ষিপ্ত করার উপায়।
সমাধান:
ব্যবহার করুন GROUP_CONCAT
সঙ্গে দফা :IN
mysql> SELECT GROUP_CONCAT(name SEPARATOR ' + ') AS order_summary FROM product WHERE product_id IN (13, 15, 16);
কোন ফলাফল:
+------------------------------------------------+
| order_summary |
+------------------------------------------------+
| Double Double + Animal Style Fries + Root Beer |
+------------------------------------------------+
বোনাস সমাধান:
আপনি যদি মোট দামও চান, তবে টস করুন SUM()
:
mysql> SELECT GROUP_CONCAT(name SEPARATOR ' + ') AS order_summary, SUM(price) AS total FROM product WHERE product_id IN (13, 15, 16);
+------------------------------------------------+-------+
| order_summary | total |
+------------------------------------------------+-------+
| Double Double + Animal Style Fries + Root Beer | 10 |
+------------------------------------------------+-------+
পিএস: আপনার নিকটস্থ কোনও এন-আউট না থাকলে ক্ষমা চাই ...