如果我的查找数据具有重复值,该如何查找?

时间:2019-03-23 16:34:51

标签: sql excel-formula

我试图基于表1中的Col1在表1到表2中查找值。

问题在于表1具有重复的值(例如,A重复了3次),但我不想重复表2的返回值。

这如何通过excel或sql(例如LEFT JOIN)完成?

image of expected result

1 个答案:

答案 0 :(得分:0)

您正在使用什么SQL?您熟悉CTE和分区吗? 在这里看看:https://social.msdn.microsoft.com/Forums/sqlserver/en-US/597b876e-eb00-4013-a613-97c377408668/rownumber-and-cte?forum=transactsql 此处:(答案和第二条评论):Select the first instance of a record

您可以使用这些想法来创建另一个字段,该字段告诉您该行是否是Col1的第一次,第二次,第三次等。例如,你会有类似的东西  1 B红150 2 B红色150

,然后您可以将col3更新为零(如果此新字段不是1)。

编辑:由于您询问了Excel:在Excel中,请按您可能需要的条件进行排序(当然,请首先选择col 1)。假设Col1在单元格C2中开始(不包括标题)。设置单元格B2 = 1。然后在单元格B3中编写以下公式:

=IF(C3=C2,B2+1,1)

并将其一直向下拖动。这将计算col 1的出现次数,即它将告诉您给定值出现在col1中的第一个,第二个等。然后,您可以将其用作更改其他列中值的基础。

此外,在第一个单元格的公式与其他单元格不同的列中也不是好习惯。您可以使用相同的公式嵌套另一个IF并引用该行,以便为第一行设置一个公式,为其他行设置一个公式。

相关问题