GROUP_CONCAT अल्पविराम विभाजक - MySQL


145

मेरे पास एक क्वेरी है जहां मैं उपयोग कर रहा हूं GROUP_CONCATऔर मेरे परिणाम के रूप में एक कस्टम विभाजक कॉमा हो सकता है: '----'

यह सब अच्छा काम करता है, हालांकि यह अभी भी अल्पविराम से अलग है, इसलिए मेरा आउटपुट है:

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

मैं इसे कैसे बना सकता हूं ताकि आउटपुट हो:

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

मैंने सोचा कि यह एक कस्टम विभाजक का विचार था!

असफल होना, क्या आप अपने परिणामों में अल्पविराम से बच सकते हैं, इसलिए मैं PHP में GROUP_CONCATअल्पविराम द्वारा विस्फोट कर सकता हूं ?


अल्पविराम कहाँ से आ रहे हैं? क्या वे विभाजक हैं, या परिणामों का हिस्सा हैं? सवाल का वह हिस्सा मेरे लिए स्पष्ट नहीं है।
मैट फेनविक

1
GROUP_CONCAT (Artist.artistname, '----') मेरा ग्रुप कॉनैट लाइन है - जैसा कि आप देख सकते हैं, मैंने विभाजक के रूप में अल्पविराम नहीं लगाया है - वे परिणामों में नहीं हैं, लेकिन आउटपुट में
दिखते हैं

जवाबों:


352

ऐसा लगता है कि आप GROUP_CONCAT फ़ंक्शन में SEPARATOR कीवर्ड याद कर रहे हैं ।

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

जिस तरह से आपने इसे लिखा है, आप डिफ़ॉल्ट कॉमा विभाजक का उपयोग करके स्ट्रिंग के artists.artistnameसाथ समवर्ती कर रहे हैं '----'


17

अपने requirment को प्राप्त करने के लिए क्वेरी

SELECT id,GROUP_CONCAT(text SEPARATOR ' ') AS text FROM table_name group by id;

आवश्यकता ----एक विभाजक के रूप में उपयोग करने की थी ।
ks1322

1

या, यदि आप एक विभाजन कर रहे हैं -

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

आप WITHIN RECORDइस तरह से झुकाव करना चाहते हैं :

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

से BigQuery API पेज

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.