0
这个问题与我的一分钟前有关。我正在查找一张表中的重复记录。我正在寻找匹配字段“Symbol”和“TradeDate”。我有一个唯一的ID字段用于表格。我的逻辑是:返回带有ID字段的记录,该字段不是具有该符号和日期组合的计数> 1的最小ID值。下面是我得到了什么?SQL Server不抱怨它,直到我运行它,然后它说我的子查询返回多个值:如果你的下一个问题是要查询重复项的SQL子查询
SELECT Symbol , ID FROM tblDailyPricingAndVol
WHERE (SELECT Count(TradeDate) FROM tblDailyPricingAndVol AS T2
WHERE T2.Symbol = Symbol AND T2.TradeDate = TradeDate GROUP BY Symbol) > 1
AND ID <> (SELECT MIN(ID) FROM tblDailyPricingAndVol AS T3
WHERE T3.Symbol = Symbol AND T3.TradeDate = TradeDate
GROUP BY Symbol)
谢谢。我根据你的帖子编辑了我的逻辑描述...我想要返回所有但是最小的ID。当我得到这个工作时,我会将其更改为删除语句。有没有办法做到这一点与简单的选择/子查询? (不熟悉PARTITION)。我想知道如何我的子查询可以返回多个值,每个都是一个聚合函数。 – StatsViaCsh 2012-02-11 01:34:09
看起来像我抢先了你。 PS在子查询中,只有“GROUP BY Symbol”。 – 2012-02-11 01:37:27
我刚刚发现...我改为“GROUP BY Symbol,TradeDate”无济于事。 – StatsViaCsh 2012-02-11 01:44:45