आप GROUP_CONCAT()
फ़ंक्शन मानों को एक पंक्ति में प्राप्त करता है और आप sid
में प्रत्येक मान को संख्या निर्दिष्ट करने के लिए उपयोगकर्ता-परिभाषित चर का उपयोग कर सकते हैं समूह:
select sid,
group_concat(concat(rn, '. ', string) ORDER BY id SEPARATOR ' ') string
from
(
select id,
sid,
string,
@row:=case when @prev=sid then @row else 0 end +1 rn,
@prev:=sid
from yourtable
cross join (select @row:= 0, @prev:=null) r
order by id
) src
group by sid
देखें SQL Fiddle with Demo , परिणाम है:
| SID | STRING |
-----------------------
| 1 | 1. AAA 2. BBB |
| 2 | 1. CCC |
| 3 | 1. ZZZ 2. EEE |