คำถามติดแท็ก group-concat

30
วิธีการเชื่อมข้อความจากหลายแถวเข้าด้วยกันเป็นสตริงข้อความเดียวในเซิร์ฟเวอร์ SQL
พิจารณาชื่อตารางการถือครองฐานข้อมูลที่มีสามแถว: Peter Paul Mary มีวิธีง่าย ๆ ในการเปลี่ยนให้เป็นสตริงเดียวPeter, Paul, Maryหรือไม่?

11
ฉันสามารถต่อแถว MySQL หลายแถวไว้ในฟิลด์เดียวได้ไหม
ใช้MySQLฉันสามารถทำสิ่งที่ชอบ: SELECT hobbies FROM peoples_hobbies WHERE person_id = 5; เอาท์พุทของฉัน: shopping fishing coding แต่ฉันต้องการ 1 แถวแทน 1 คอลัมน์: ผลลัพธ์ที่คาดหวัง: shopping, fishing, coding เหตุผลก็คือฉันเลือกค่าหลายค่าจากหลายตารางและหลังจากการรวมทั้งหมดฉันมีแถวมากกว่าที่ฉันต้องการ ฉันมองหาฟังก์ชั่นในMySQL Docและมันดูไม่เหมือนCONCATหรือCONCAT_WSฟังก์ชั่นที่ยอมรับชุดผลลัพธ์ ดังนั้นใครที่นี่รู้วิธีการทำเช่นนี้?
1214 mysql  sql  concat  group-concat 

6
ความยาวสูงสุดของ MySQL และ GROUP_CONCAT ()
ฉันใช้GROUP_CONCAT()ในแบบสอบถาม MySQL เพื่อแปลงหลายแถวเป็นสตริงเดียว อย่างไรก็ตามความยาวสูงสุดของผลลัพธ์ของฟังก์ชันนี้คือ1024อักขระ ฉันตระหนักดีว่าฉันสามารถเปลี่ยนพารามิเตอร์group_concat_max_lenเพื่อเพิ่มขีด จำกัด นี้: SET SESSION group_concat_max_len = 1000000; อย่างไรก็ตามบนเซิร์ฟเวอร์ที่ฉันใช้ฉันไม่สามารถเปลี่ยนพารามิเตอร์ได้ ไม่ใช่โดยการใช้คิวรีก่อนหน้าและไม่ใช่โดยการแก้ไขไฟล์คอนฟิกูเรชันใด ๆ ดังนั้นคำถามของฉันคือ: มีวิธีอื่นในการรับผลลัพธ์ของแบบสอบถามหลายแถวในสตริงเดียวหรือไม่

7
Postgresql GROUP_CONCAT เทียบเท่าหรือไม่
ฉันมีตารางและฉันต้องการดึงหนึ่งแถวต่อหนึ่ง id ด้วยค่าเขตข้อมูลที่ต่อกัน ตัวอย่างเช่นในตารางของฉันฉันมีสิ่งนี้: TM67 | 4 | 32556 TM67 | 9 | 98200 TM67 | 72 | 22300 TM99 | 2 | 23009 TM99 | 3 | 11200 และฉันต้องการที่จะส่งออก: TM67 | 4,9,72 | 32556,98200,22300 TM99 | 2,3 | 23009,11200 ใน MySQL ฉันสามารถใช้ฟังก์ชันการรวมGROUP_CONCATแต่ดูเหมือนจะไม่ทำงานที่นี่ ... มี PostgreSQL ที่เท่ากันหรือวิธีอื่นในการทำสิ่งนี้

6
MySQL DISTINCT บน GROUP_CONCAT ()
SELECT GROUP_CONCAT(categories SEPARATOR ' ') FROM tableที่ฉันทำ ข้อมูลตัวอย่างด้านล่าง: categories ---------- test1 test2 test3 test4 test1 test3 test1 test3 อย่างไรก็ตามฉันtest1 test2 test3 test4 test1 test3กลับมาแล้วและฉันต้องการtest1 test2 test3 test4กลับไป ความคิดใด ๆ ขอบคุณมาก!

2
MySQL: จัดเรียงค่า GROUP_CONCAT
กล่าวโดยย่อ: มีวิธีใดบ้างในการจัดเรียงค่าในคำสั่ง 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 ฉันได้แถวนี้: หัตถกรรม»ไม้เช่นประตูหน้าต่าง การบริหาร»องค์กร ฉันต้องการแบบนี้: การบริหาร»องค์กร หัตถกรรม»ไม้เช่นประตูหน้าต่าง


3
GROUP_CONCAT เครื่องหมายจุลภาคคั่น - MySQL
ฉันมีคำถามที่ฉันใช้GROUP_CONCATและตัวคั่นที่กำหนดเองเนื่องจากผลลัพธ์ของฉันอาจมีเครื่องหมายจุลภาค: '----' ทั้งหมดนี้ทำงานได้ดี แต่ก็ยังคงคั่นด้วยเครื่องหมายจุลภาคดังนั้นผลลัพธ์ของฉันคือ: Result A----,Result B----,Result C---- ฉันจะทำให้มันเป็นผลลัพธ์ได้อย่างไร: Result A----Result B----Result C---- ฉันคิดว่านี่เป็นความคิดของตัวแยกที่กำหนดเอง! คุณสามารถหลีกเลี่ยงเครื่องหมายจุลภาคในผลลัพธ์ของคุณดังนั้นฉันจึงสามารถระเบิดด้วยGROUP_CONCATจุลภาคใน PHP ได้หรือไม่

7
วิธีใช้ GROUP_CONCAT ใน CONCAT ใน MySQL
หากฉันมีตารางที่มีข้อมูลต่อไปนี้ใน MySQL: id Name Value 1 A 4 1 A 5 1 B 8 2 C 9 ฉันจะทำให้เป็นรูปแบบต่อไปนี้ได้อย่างไร id Column 1 A:4,5,B:8 2 C:9 คิดว่าต้องใช้GROUP_CONCAT. แต่ฉันไม่แน่ใจว่ามันทำงานอย่างไร
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.