-1

我有这张桌子:

号码----------用户----------值

1---------------A-------------25

1---------------B------------ 28

2---------------C-------------30

2---------------D-------------35

这就是我要的:

号码----------用户----------值

1---------------A,B------------25,28

2---------------C,D------------30,35

有成千上万的记录,我正在整理它们。sql应该是什么?

4

2 回答 2

0

由于您使用的是 Oracle 11g+,因此您可以使用以下LISTAGG()功能:

select "Number",
  listagg("user", ', ') within group (order by "user") "user",
  listagg("value", ', ') within group (order by "user") value
from yourtable
group by "Number"

请参阅带有演示的 SQL Fiddle

于 2013-07-22T14:31:00.840 回答
0

我建议在网站中搜索...对于字符串聚合listagg等...

同时看这里

于 2013-07-22T14:28:35.657 回答