86
Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.
Tôi muốn chuyển đổi các giá trị đã chọn thành chuỗi phân tách bằng dấu phẩy trong MySQL.
Mã ban đầu của tôi như sau:
SELECT id
FROM table_level
WHERE parent_id = 4;
Sản xuất:
'5'
'6'
'9'
'10'
'12'
'14'
'15'
'17'
'18'
'779'
Đầu ra mong muốn của tôi sẽ trông như thế này:
"5,6,9,10,12,14,15,17,18,779"
Henry Ecker
32,8K17 Huy hiệu vàng30 Huy hiệu bạc51 Huy hiệu Đồng17 gold badges30 silver badges51 bronze badges
Hỏi ngày 24 tháng 10 năm 2013 lúc 6:22Oct 24, 2013 at 6:22
Kiểm tra điều này:
SELECT GROUP_CONCAT[id]
FROM table_level
WHERE parent_id = 4
GROUP BY parent_id;
informatik01
15.8k10 Huy hiệu vàng73 Huy hiệu bạc102 Huy hiệu Đồng10 gold badges73 silver badges102 bronze badges
Đã trả lời ngày 24 tháng 10 năm 2013 lúc 6:28Oct 24, 2013 at 6:28
Naveen Gidelnaveen Goidynaveen goyal
4.4512 Huy hiệu vàng15 Huy hiệu bạc26 Huy hiệu đồng2 gold badges15 silver badges26 bronze badges
Nếu bạn có nhiều hàng cho Parent_id.
SELECT GROUP_CONCAT[id] FROM table_level where parent_id=4 GROUP BY parent_id;
Nếu bạn muốn thay thế không gian bằng dấu phẩy.
SELECT REPLACE[id,' ',','] FROM table_level where parent_id=4;
Đã trả lời ngày 24 tháng 10 năm 2013 lúc 6:29Oct 24, 2013 at 6:29
Sanal Ksanal kSanal K
7234 Huy hiệu bạc14 Huy hiệu Đồng4 silver badges14 bronze badges
1
Sử dụng chức năng nhóm_concat [] của mysql.
SELECT GROUP_CONCAT[id] FROM table_level where parent_id=4 GROUP BY parent_id;
Nó sẽ cung cấp cho bạn chuỗi được kết hợp như:
5,6,9,10,12,14,15,17,18,779
Đã trả lời ngày 24 tháng 10 năm 2013 lúc 6:33Oct 24, 2013 at 6:33
Nishu Tayalnishu TayalNishu Tayal
Phù hiệu vàng 19.6K847 Huy hiệu bạc97 Huy hiệu đồng8 gold badges47 silver badges97 bronze badges
Thử cái này
SELECT CONCAT['"',GROUP_CONCAT[id],'"'] FROM table_level
where parent_id=4 group by parent_id;
Kết quả sẽ được
"5,6,9,10,12,14,15,17,18,779"
Đã trả lời ngày 24 tháng 10 năm 2013 lúc 6:30Oct 24, 2013 at 6:30
Ankit Sharmaankit SharmaAnkit Sharma
3,8362 huy hiệu vàng28 Huy hiệu bạc46 Huy hiệu đồng2 gold badges28 silver badges46 bronze badges
Đầu tiên đến
'5'
'6'
'9'
'10'
'12'
'14'
'15'
'17'
'18'
'779'
6, nếu không nó sẽ không cung cấp cho bạn tất cả kết quả:'5'
'6'
'9'
'10'
'12'
'14'
'15'
'17'
'18'
'779'
0
WSCourge
9.66912 Huy hiệu vàng53 Huy hiệu bạc73 Huy hiệu đồng12 gold badges53 silver badges73 bronze badges
Đã trả lời ngày 16 tháng 1 năm 2018 lúc 6:30Jan 16, 2018 at 6:30
Cksahucksahucksahu
Huy hiệu Bạc 1311 Huy hiệu Đồng1 silver badge4 bronze badges
Bộ phân cách mặc định giữa các giá trị trong một nhóm là dấu phẩy [,]. Để chỉ định bất kỳ dấu phân cách nào khác, hãy sử dụng
'5'
'6'
'9'
'10'
'12'
'14'
'15'
'17'
'18'
'779'
7 như hình dưới đây.'5'
'6'
'9'
'10'
'12'
'14'
'15'
'17'
'18'
'779'
15|6|9|10|12|14|15|17|18|779
Để loại bỏ bộ phân cách, sau đó sử dụng
'5'
'6'
'9'
'10'
'12'
'14'
'15'
'17'
'18'
'779'
8'5'
'6'
'9'
'10'
'12'
'14'
'15'
'17'
'18'
'779'
2Tham khảo để biết thêm thông tin nhóm_concat
Đã trả lời ngày 27 tháng 1 năm 2017 lúc 19:27Jan 27, 2017 at 19:27
Rohan Khuderohan KhudeRohan Khude
4.1765 Huy hiệu vàng47 Huy hiệu bạc42 Huy hiệu đồng5 gold badges47 silver badges42 bronze badges
1
Sử dụng phương thức
'5'
'6'
'9'
'10'
'12'
'14'
'15'
'17'
'18'
'779'
9 trong MySQL
Kamal Pal
4.1495 Huy hiệu vàng24 Huy hiệu bạc39 Huy hiệu Đồng5 gold badges24 silver badges39 bronze badges
Đã trả lời ngày 24 tháng 10 năm 2013 lúc 6:27Oct 24, 2013 at 6:27
HepizojHepizojhepizoj
2434 Huy hiệu bạc9 Huy hiệu Đồng4 silver badges9 bronze badges
2
Chỉ như vậy đối với những người thực hiện nó trong SQL Server: Sử dụng
"5,6,9,10,12,14,15,17,18,779"
0 để có kết quả tương tự.Đã trả lời ngày 28 tháng 5 năm 2020 lúc 1:45May 28, 2020 at 1:45
DPPDPPDPP
12.4K3 Huy hiệu vàng48 Huy hiệu bạc46 Huy hiệu đồng3 gold badges48 silver badges46 bronze badges
Sử dụng nhóm_concat, đây là một cách khác để làm cho nó linh hoạt:
'5'
'6'
'9'
'10'
'12'
'14'
'15'
'17'
'18'
'779'
3Điều này sẽ trả về các giá trị như:
'5'
'6'
'9'
'10'
'12'
'14'
'15'
'17'
'18'
'779'
4Bạn có thể kết nối bằng cách sử dụng bất kỳ dấu phân cách nào khác. Điều này sẽ giúp trong trường hợp bạn muốn sử dụng giá trị trả về trực tiếp ở đâu đó.
Đã trả lời ngày 12 tháng 8 năm 2021 lúc 15:51Aug 12, 2021 at 15:51
'5'
'6'
'9'
'10'
'12'
'14'
'15'
'17'
'18'
'779'
5Đã trả lời ngày 18 tháng 11 năm 2021 lúc 6:58Nov 18, 2021 at 6:58