2015-04-02 51 views
0

我在表中有重复项,我想选择,而不是做一个选择不同的所有12列我只希望3列为不同。如果我在所有列上进行select select,那么这3列仍然可能有我不想要的副本,因为其他一些列是不同的。选择*与不同的3列

我想看到所有列,但希望它是不同的仅3

我已经通过,并与问题解决方案试图组,这是一个所谓的那些却没有工作复制。无论出于什么原因,当我通过它来执行组时,只会执行查询,如果我将表中的所有列包含在其中,而这不是我想要的,因为我只希望3列不同。当我尝试它时,“with c”就不会执行。

+1

'SELECT DISTINCT col1,col2,col3 FROM YourTable'? – Lamak 2015-04-02 15:54:54

+0

您如何在不重复前3个值的情况下查看其他列中的差异?我认为示例结果将有助于解释您希望查询返回的内容。 – Danny 2015-04-02 15:56:21

回答

0

尝试或类似的东西; 选择从第1栏不同地方 选择从山坳2个不同的地方 选择从第2栏第

+0

类似的东西;我记得,它的工作原理 – haf 2015-04-02 16:00:41

0

使用row_number()不同:

select t.* 
from (select t.*, row_number() over (partition by col1, col2, col3 
            order by (select null)) as seqnum 
     from table t 
    ) t 
where seqnum = 1; 

这将选择exacdtly一个不确定的一行三列的值的每个组合。

+0

所以我提出这个(我知道WHERE语句在SQL工作我有) 选择T * 从(选择吨。*,ROW_NUMBER()OVER(由植物,时间戳分区,FermBatchNumber order by(select null))as seqnum FROM dbo.FermKineticsNIR WHERE t。\“Timestamp \!”> = DATEADD(d,-30,getdate()) )t where seqnum = 1; 它不执行查询,所以我可能有问题。你能告诉可能会发生什么吗? – bjbreitling 2015-04-02 18:08:45

+0

@bjbreitling。 。 。如果查询没有执行,那么SQL Server应该给你一个错误信息,指出问题。 – 2015-04-02 22:06:48

+0

谢谢!我提交查询通过其他软件到MS SQL,所以我不得不做一些修改,但现在它效果很好!如果我有更高的代表,我会给这个投票! – bjbreitling 2015-04-03 14:42:37