甲骨文。无法使用Count返回多个列

时间:2015-08-20 04:36:35

标签: sql oracle

我在使用select语句时遇到问题。 我从产品表(视图)获取3列数据,一切都很好:

Select bin_number, part_number, qty
From Products V
Where Site = 'My_Site';

这给了我5000多行 问题是:相同的part_number在几个不同的箱中。

我对part_number的计数没有问题:

Select part_number, COUNT(*)
FROM Products V
Where Site = 'My_Site'
Group By part_number
Having COUNT(*) > 1;

这会返回600多行重复的part_number以及它们复制的频率,但我还需要bin_number和Qty列。 我尝试使用其他两列的所有内容都给了我一个空的结果集。

非常感谢任何帮助。 感谢

2 个答案:

答案 0 :(得分:1)

尝试使用Count Over()

select * from 
(
Select bin_number, part_number, qty,count(1) over(partition by part_number) as cnt
From Products V
Where Site = 'My_Site'
)
where cnt > 1;

答案 1 :(得分:0)

这将返回多个bin中的部分。

Select part_number, COUNT(distinct bin_number)
FROM Products V
Where Site = 'My_Site'
Group By part_number
Having COUNT(distinct bin_number) > 1;