【发布时间】:2014-06-14 14:52:38
【问题描述】:
所以我需要一些关于在特定列中标记重复项的查询的帮助。
基本上我有 2 列这样的:
cust_id Order_id
001 001
001 002
001 003
002 001
003 001
003 002
我想在我的 Q 中创建一个新列,将“1”标记为唯一,“0”标记为仅 cust_id 列的重复项。我的想法是使用 order_id 列上的 min 或
到目前为止,这是我想出的显然不正确的:
SELECT
A.cust_id,
B.order_id,
CASE
WHEN COUNT(A.cust_id) > 1 THEN 0
WHEN COUNT(A.cust_id) = 1 THEN 1
END AS 'TESTING'
FROM CUST A INNER JOIN ORDER B
ON B.cust_id = A.cust_id
GROUP BY B.order_id, A.cust_id
这会运行,但只会用“1”标记所有内容。我知道这是因为它完全按照我的要求做,它实际上是在查看 cust_id 的值以及为什么 ALL 都 > 1 并返回所有 '1'。
如何重写此代码以将 cust_id 的第一个实例标记为“1”,其余部分(或将 cust_id 重复为“0”
目的是让我可以在 excel 中总结 '1' 并从那里为数据透视图进行计算。
提前感谢您的帮助!!!!!!!这个网站不止一次救了我的命!
编辑:
使用 MS SQL 2008 R2
【问题讨论】:
-
为什么这个标签是 Excel?
标签: sql excel count duplicates