我有如下表:过滤行值
Card(
MembershipNumber,
EmbossLine,
status,
EmbossName
)
样本数据
(0009,0321,'E0','Finn')
(0009,0322,'E1','Finn')
(0004,0356,'E0','Mary')
(0004,0398,'E0','Mary')
(0004,0382,'E1','Mary')
我想检索行这样,只有那些行应该出现有count
的MembershipNumber > 1
AND计数为status='E0' > 1
。
对于实施例查询应返回以下结果
(0004,0356,'E0','Mary')
(0004,0398,'E0','Mary')
我具有用于与MembershipNumber
计数滤波它的查询,但找不出如何按状态进行过滤=“E0”。这里的查询到目前为止
SELECT *
FROM (SELECT *,
Count(MembershipNumber)OVER(partition BY EmbossName) AS cnt
FROM card) A
WHERE cnt > 1
添加'WHERE状态=“E0''在你的子查询。 –
我已经做了,但后来它返回所有状态='E0'的那些。在我的例子中,它也会返回'(0009,0321,'E0','Finn')'。不要求 – Nuke
确定,因为它的工作原理在我的机器罚款:'SELECT * FROM(SELECT *, 计数(MembershipNumber OVER(PARTITION BY EmbossName))AS CNT 从存储卡中 \t \t WHERE状态=“E0 ' \t \t)A WHERE cnt> 1' –