2011-10-07 47 views
90

Tôi có một truy vấn mà tôi đang sử dụng GROUP_CONCAT và thiết bị tách tùy chỉnh như kết quả của tôi có thể chứa dấu phẩy: '----'GROUP_CONCAT dấu phẩy phân cách - MySQL

bài này hoạt động tốt, tuy nhiên nó vẫn còn dấu phẩy tách ra, nên đầu ra của tôi là:

Result A----,Result B----,Result C---- 

làm thế nào tôi có thể làm cho nó để đầu ra là:

Result A----Result B----Result C---- 

tôi nghĩ đây là ý tưởng của một tách tùy chỉnh!

Nếu không, bạn có thể thoát khỏi dấu phẩy trong kết quả của mình không, vì vậy tôi có thể phát bằng PHP bằng các dấu phẩy GROUP_CONCAT?

+7

Hiển thị mã cho chúng tôi. –

+0

Dấu phẩy đến từ đâu? Họ có phải là người phân tách hay một phần kết quả không? Đó là một phần của câu hỏi không rõ ràng với tôi. –

+1

GROUP_CONCAT (artists.artistname, '----') là nhóm concat nhóm của tôi - như bạn có thể thấy, tôi chưa đặt dấu phẩy làm dấu phân cách - chúng không có trong kết quả nhưng hiển thị ở đầu ra – user984580

Trả lời

241

Có vẻ như bạn đang thiếu từ khóa SEPARATOR trong hàm GROUP_CONCAT.

GROUP_CONCAT(artists.artistname SEPARATOR '----') 

Cách bạn đã viết nó, bạn đang concatenating artists.artistname với '----' chuỗi bằng cách sử dụng dấu phẩy phân cách mặc định.

+3

Cảm ơn bạn - nó có vẻ như tôi đã đọc một hướng dẫn sai lầm về group_concat tại một số điểm. – user984580

1

Hoặc, nếu bạn đang làm một sự chia rẽ - tham gia:

GROUP_CONCAT(split(thing, " "), '----') AS thing_name, 

Bạn có thể muốn inclue WITHIN RECORD, như thế này:

GROUP_CONCAT(split(thing, " "), '----') WITHIN RECORD AS thing_name, 

từ BigQuery API page

5

thử này

GROUP_CONCAT(artists.artistname SEPARATOR '----') 
+1

Bạn đã trả lời 6 năm sau và bạn không viết gì nhiều hơn câu trả lời bình chọn cao nhất :) – ElChupacabra

Các vấn đề liên quan