多个不明显

时间:2008-11-06 17:49:41

标签: sql ms-access distinct

我有一个MS访问数据库,我需要创建一个SQL查询,允许我在一列中选择所有不同的条目,同时保留所有值。

在这种情况下,一个例子比以往任何时候都值得数千字:

表:

A B C
1 x q
2 y w
3 y e
4 z r
5 z t
6 z y

SQL魔法

结果:

B C
y w
y e
z r
z t
z y

基本上它会删除B列的所有唯一值,但保留了多行 保持数据。我可以“按b分组”然后“计数> 1”以获得不明显但结果只列出一行B而不是我需要的2行或更多。

任何帮助?

感谢。

4 个答案:

答案 0 :(得分:27)

Select B, C
From Table
Where B In
    (Select B From Table
     Group By B
     Having Count(*) > 1)

答案 1 :(得分:7)

返回所需结果的另一种方法是:

select *
from
    my_table
where 
    B in 
    (select B from my_table group by B having count(*) > 1)

答案 2 :(得分:3)

select 
  * 
from 
  my_table t1, 
  my_table t2
where 
  t1.B = t2.B
and
  t1.C != t2.C

-- apparently you need to use <> instead of != in Access
-- Thanks, Dave!

那样的东西?

答案 3 :(得分:1)

加入您通过b确定的B的唯一值和计数&gt; 1返回原始表以从表中检索C值。