按表分组,列出每个属性的所有一个属性

时间:2013-12-09 05:11:53

标签: sql oracle10g sqlplus

我正在尝试按名称对这些数据进行分组,以便代替当前的查询输出,而不是:

Name                       Number
Nice guy                   1
Nice guy                   2
Nice guy                   4
Nice guy                   5
Nice guy                   6
Nice guy                   7
Nice guy                   8
Nice guy                   9
Nice guy                   10
Nice guy                   11
Nice guy                   12
Frank                      3
Frank                      4

我会得到这个:

Name       Number
Nice guy   1,2,4,...
Frank      3,4

这是我当前的查询:

select distinct name, number
from patterns,numbers,people
where patterns.index=numbers.index
AND patterns.id=people.id
order by name, charge;

我试过的是这个,但它失败了:

select distinct name, number
from patterns,numbers,people
where patterns.index=numbers.index
AND patterns.id=people.id
group by name
order by name, number;

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:3)

更新:以这种方式尝试

SELECT name, WM_CONCAT(number) number
  FROM
(
  SELECT DISTINCT name, number 
    FROM patterns t JOIN numbers n
      ON t.index = n.index JOIN people p
      ON t.id = p.id
) q
 GROUP BY name
 ORDER BY name