我有一些“功能性副本”记录的表 - 不同的ID,但(甚至更多列)“用户数据”的4列是相同的。 我有一个查询工作,将选择具有这种重复的所有记录。
现在,我要选择,从每组重复的,他们的第一个任何有列A
不为空-我已经从数据有每组最多1点这样的行验证-如果有没有在这个特殊的组,则该最小列的ID
。
我该如何选择? 在当时的情况和在ELSE聚集的,我不能准确地使用非集合。 例如这不起作用:
SELECT CASE
WHEN d.A IS NULL THEN d.ID
ELSE MIN(d.ID) END,
d.B,
d.C,
d.E,
d.F
FROM TABLE T
JOIN (my duplicate query here) D ON T.B=D.B
AND T.C=D.C
AND T.E=D.E
AND T.F=D.F
GROUP BY T.B,
T.C,
T.E,
T.F
误差为:
列A必须出现在GROUP BY子句或在聚合函数可以使用。